1.配置 gpio_config_t 结构体参数
- pin_bit_mask(指定使用的GPIO,这个成员要求使用位掩码(bit mask)来指定 GPIO 引脚,而不是直接填入端口号。这是因为该字段允许同时配置多个 GPIO 引脚,即使用
1 << 端口号
生成对应的位掩码)
- mode(设置GPIO模式,GPIO_MODE_DISABLE:关闭输入输出;
—————————GPIO_MODE_INPUT:输入模式;
—————————GPIO_MODE_OUTPUT:输出模式;
—————————GPIO_MODE_OUTPUT_OD:开漏输出模式;
—————————GPIO_MODE_INPUT_OUTPUT_OD:开漏输入输出模式;
—————————GPIO_MODE_INPUT_OUTPUT:输入和输出模式;) - pull_up_en(设置上拉模式,GPIO_PULLUP_DISABLE:关闭GPIO上拉模式;
——————————-GPIO_PULLUP_ENABLE:打开GPIO上拉模式;) - pull_down_en(设置下拉模式,GPIO_PULLDOWN_DISABLE:关闭GPIO下拉模式;
———————————-GPIO_PULLFOWN_ENABLE:打开GPIO下拉模式;) - intr_type(设置中断,GPIO_INTR_DISABLE:关闭GPIO中断;
————————GPIO_INTR_POSEDGE:上升沿触发中断;
————————GPIO_INTR_NEGEDGE:下降沿触发中断;
————————GPIO_INTR_ANYEDGE:上升沿和下降沿都触发中断;
————————GPIO_INTR_LOW_LEVEL:低电平触发中断;
————————GPIO_INTR_HIGH_LEVEL:高电平触发中断;
————————GPIO_INTR_MAX:不知道干什么的,官方文档也没说;)
2.将配置好的结构体放入gpio_config()函数进行底层硬件配置
- gpio_congfig(需要传入配置好的结构体地址),如结构体名字叫cfg,那么就需要传入 &cfg
到此GPIO就已经配置完成,接下来就可以按照自己的需求来使用GPIO了。