&gpio_num, NULL);//xQueueSendFromISR是发生消息插入到队列的后面,将gpio的io口数传递到队列中,关于xQueueSendFromISR函数的相关知识,可以自己查询API手册,本文最后也有相关讲解}staticvoidgpio_task_example(void*arg){uint32_t io_num;for(;;) {if(xQueueReceive(gpio_evt...
gpio_config_t io_conf = { //打开IO下下降沿中断io_conf.intr_type = GPIO_INTR_NEGEDGE,//设置io输入输出模式io_conf.mode = GPIO_MODE_INPUT,//选择GOIOio_conf.pin_bit_mask = 1ULL<<GPIO_NUM_9,//关闭下拉io_conf.pull_down_en = 0,//打开上拉io_conf.pull_up_en = 1,}; //根据上...
io_conf.pin_bit_mask = (1<<GPIO_OUT_Pin);//注意pin_bit_mask配置GPIO的引脚要按位,左移2位即配置GPIO2io_conf.mode = GPIO_MODE_OUTPUT;//配置GPIO模式 -- 输出模式i0_conf.pull_down_en =0;//配置下拉电阻 -- 无下拉i0_conf.pull_up_en =0;//配置上拉电阻 -- 无上拉i0_conf.intr_t...
设置GPIO的方向,gpio_num取值同上,mode取值如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 typedefenum{GPIO_MODE_DISABLE=GPIO_MODE_DEF_DISABLE,// 失能GPIO_MODE_INPUT=GPIO_MODE_DEF_INPUT,//输入模式GPIO_MODE_OUTPUT=GPIO_MODE_DEF_OUTPUT,//输出模式GPIO_MODE_OUTPUT_OD=((GPIO_MODE_DEF_OUT...
[in]gpio_num:引脚编号,0~34(存在部分) 返回值 按键的输入值 0:输入低 1:输入高 按键按下后松手在灯切换源码编写 获取按键状态,等于0表示按键按下,然后死等松手,切换灯状态。 包含头文件、IO宏定义、led灯状态变量定义 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <stdio.h> #include <stdio.h...
gpio_config(&GPIO_InitStructure);//io0初始 } //key -> IO0按键按下 void key_on(void) { if(gpio_get_level(GPIO_NUM_0) == 0) { for(int i = 0 ;i<100;i++);//消抖 if(gpio_get_level(GPIO_NUM_0) == 0) { led_state = !led_state; ...
在讲GPIO之前,我们先看下STM32中的PIN脚类型: PIN脚类型 PIN类型 - S F407xx中线性调压器为备份域和待机电路以外的所有数字电路供电,调压器输出电压约为 1.2 V。 此调压器需要将两个外部电容连接到专用引脚 VCAP_1 和 VCAP_2。 在调压器使能情况下,这两个引脚输出1.2V电压。
gpio_set_level(gpio_num_t gpio_num, uint32_t level)level:0 低电平1 高电平 5. 输入模式检测电平 gpio_get_level(gpio_num_t gpio_num)6. 配置单个引脚内部上、下拉电阻 gpio_set_pull_mode(gpio_num_t gpio_num)gpio_pullup_en(gpio_num_t gpio_num)gpio_pullup_dis(gpio_num_t gpio_num)...
// 记录最后按下的时间gpio_evt_queue=xQueueCreate(1,sizeof(uint32_t));// 创建gpio队列bool status=0;// 记录goio的状态// 下面是按钮逻辑处理while(xQueueReceive(gpio_evt_queue,&gpio_num,portMAX_DELAY)){bool key_level=gpio_get_level(gpio_num);vTaskDelay(pdMS_TO_TICKS(10));// 经过10...
{ gpio_set_level(GPIO_OUTPUT_IO_LED, 1); } void app_main(void) { // 做了下面这些设置后电流从63uA下降到了3uA gpio_reset_pin(GPIO_NUM_0); gpio_reset_pin(GPIO_NUM_2); gpio_reset_pin(GPIO_NUM_4); gpio_reset_pin(GPIO_NUM_12); gpio_reset_pin(GPIO_NUM_13); gpio_reset_pin(...