概述

sHMIctrl 留有6个扩展IO口(最多10个IO口):

端口功能表

端口 高阻 输入 输出 AD PWM 备注
E1(gpio0) ×
E2(gpio1) ×
E3(gpio2) ×
E4(gpio3) ×
E5(gpio4)
E6(gpio5)
TX2(gpio6) 串口2
RX2(gpio7) 串口2
TX1(gpio8) 串口1
RX1(gpio9) 串口1

注意: - 串口1、串口2的gpio6~9 是通过150欧姆的限流电阻接出,因此建议只做输入,做输出的话,带负载能力有限 - 串口2有10K电阻上拉

输入模式

以E1号端口(GPIO0)来举例:

gpio_mode(0,2); //设置gpio0为输入模式
echo(gpio_inp(0));  //输出0表示低电平 输出1表示高电平

输出模式

以E1号端口(GPIO0)来举例:

gpio_mode(0,1); //设置gpio0为输出模式
gpio_out(0,1);  //设置输出为高电平
//gpio_out(0,0);  //设置输出为低电平

AD模式

以E1号端口(GPIO0)来举例:

gpio_mode(0,3); //设置gpio0为AD模式
echo(gpio_ad(0));  //获取端口的AD值 0~4095

高阻模式

以E1号端口(GPIO0)来举例:

gpio_mode(0,0); //设置gpio0为高阻模式

PWM模式

以E5号端口(GPIO4)来举例:

gpio_pwmdef(1000);  //定义PWM频率为1000hz
gpio_mode(4,4);     //设置gpio4为pwm模式
gpio_pwmset(4,32768);//设置gpio4的占空比为50%,占空比参数0~65535

模式表

mode值 类型 语句
0 关闭,高阻
1 输出,推挽输出,电流可以驱动5mA的设备,可以短时间点亮白光LED,长时间需要加MOS控制或者限流电阻 gpio_out(n,c);
2 输入,上拉 gpio_inp(n)获取IO电平
3 AD模式,12位AD,但是由于没有模拟GND,不能做高精度的采样,常用于电池电压检测等 gpio_ad(n)获取AD值
4 PWM,只有E5 E6两个端口支持,由于属于一路PWM,因此只能设置相同的频率,但是2个端口可以分别设置各自的占空比 gpio_pwmset(n,per)设置占空比

目录


参数设置

扩展IO

其他资料: