GPIO API函数说明
1.GPIO申请
int gpio_request(unsigned gpio, const char *label);
获得并占有 GPIO 的使用权,由参数 gpio 指定具体 port,非空的lables指针有助于诊断,主要是告诉内核这地址被占用了,当其它地方调用同一地址的gpio_request就会报告错误,该地址已被申请。
2.释放GPIO
void gpio_free(unsigned gpio)
释放 GPIO 的使用权,由gpio 指定具体 port。例如gpio_free(GPIOA_18),释放GPIOA_18的使用权。
3.GPIO输出
int gpio_direction_input(unsigned gpio);
将gpio设置为输出模式,设置成功返回0。
int gpio_direction_output(unsigned gpio, int value);
将gpio设置为输出模式,value为0:输出低电平,1:输出高电平,设置成功返回0。
4.GPIO输入
int gpio_direction_input(unsigned gpio);
将gpio设置为输入模式,设置成功返回0。
5.GPIO设置输出值
void gpio_set_value(unsigned gpio, int value);
为GPIO设置输出值,value为0:输出低电平,1:输出高电平。
6.设置GPIO上下拉
int gpio_pull_updown(unsigned gpio,unsigned value);
value为0 :normal 1:pull up 2:pull down