获取GPIO编号
GET_PIN(port, pin)
#define LED_BLUE_PIN GET_PIN(A, 0)
设置引脚模式
void rt_pin_mode(rt_base_t pin, rt_base_t mode);
设置引脚电平
void rt_pin_write(rt_base_t pin, rt_base_t value);
rt_base_t pin 同上, 为引脚编号,尽量通过宏定义传递进来
rt_base_t value 是想要输出的电平, PIN_LOW / PIN_HIGH
读取引脚电平
int rt_pin_read(rt_base_t pin);
返回值是当前引脚电平的值,返回值跟设置电平一样,为PIN_LOW/PIN_HIGH,可添加一个变量来接收返回值。
绑定引脚中断回调函数
RTT非常方便的一点就是可以对每个输入引脚绑定中断函数,相当于扩展了外部中断。
rt_err_t rt_pin_attach_irq(rt_base_t pin, rt_uint8_t mode, void (*hdr)(void *args), void *args);
mode设置中断触发模式,可选择下面5个值
hdr终端回调函数,需要自己定义
args中断回调函数需要传递参数,没有就填RT_NULL。
使能中断
rt_err_t rt_pin_irq_enable(rt_base_t pin, rt_uint32_t enabled);