杰里AW31N GPIO配置

(配置GPIO详细具体可以看官网的手册,我就是快速列举几个能用的供参考,可能不全但是测过能用)

1.配置引脚状态

 可以用

int gpio_init(enum gpio_port port, const struct gpio_config *config);
int gpio_set_mode(enum gpio_port port, u32 pin, enum gpio_mode mode);

举例

struct gpio_config gpio_config_test = {
    .pin = PORT_PIN_0 | PORT_PIN_1 | PORT_PIN_2 | PORT_PIN_3,//多个IO一起初始化
    .mode = PORT_OUTPUT_LOW,//PORT_INPUT_PULLUP_10K,
    .hd = PORT_DRIVE_STRENGT_2p4mA,
};

//配置PB0/PB1/PB2/PB3输出模式并输出0
gpio_init(PORTB, &gpio_config_test);
​

 配置gpio_set_mode其实有两种方法 一种是按照接口去配置 另一种是用gpio.h提供的宏定义去配置

举例

gpio_set_mode(PORTA,PORT_PIN_xx,PORT_INPUT_FLOATING);
gpio_set_mode(IO_PORT_SPILT(IO_PORTA_xx), PORT_INPUT_PULLDOWN_10K); 

2.输入输出

输出高低电平 并且想要过程中翻转也有很多办法 

int gpio_set_mode(enum gpio_port port, u32 pin, enum gpio_mode mode);
// 设置单个io输出电平(需先配置为输出). gpio:IO_PORTA_00; value:0:out 0, 1:out 1
int gpio_write(u32 gpio, u32 value);

输入读取和输出一样需要先配置好状态才能生效

使用

int gpio_read(u32 gpio);// 读取单个io输入值. gpio:IO_PORTA_00

最后 需要注意一个地方,IO_PORTA_XX和PORT_PIN_XX是不同的 read和write都是用IO开头的 配置的时候用的PRO_PIN或者直接宏定义填写IO_PORTA_XX


                
  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值