GPIO的高低电平触发事件
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[ESP32]]
&color(red){※This article is based on esp-idf 4.0};
#contents
* API [#o98a0443]
** mode用于设置gpio的模式 [#w207fc43]
- GPIO_MODE_INPUT 输入
- GPIO_MODE_OUTPUT 输出
- GPIO_MODE_OUTPUT_OD 开漏输出(如果外部或者内部不上拉电...
- GPIO_MODE_INPUT_OUTPUT_OD 开漏输入输出
- GPIO_MODE_INPUT_OUTPUT 输入输出
&color(red){mode设置为 GPIO_MODE_OUTPUT 时,通过 gpio_get...
** pin_bit_mask [#b1526ffe]
pin_bit_mask设置需要操作的GPIO引脚,例如要设置GPIO1和GPIO33
则pin_bit_mask应该设置为
(1ULL << 1 | 1ULL << 33)
注意pin_bit_mask类型为uint64_t
** 中断类型枚举 [#yed8de12]
- GPIO_INTR_DISABLE //禁用GPIO中断
- GPIO_INTR_POSEDGE //GPIO中断类型:上升沿
- GPIO_INTR_NEGEDGE //下降沿
- GPIO_INTR_ANYEDGE //上升沿和下降沿
- GPIO_INTR_LOW_LEVEL //输入低电平触发
- GPIO_INTR_HIGH_LEVEL //输入高电平触发
*输入 [#n721bc2a]
** 下降沿触发中断 [#gc6f8731]
中断触发按键按下来,触发中断,执行回调函数;
- 注意①:中断触发按键连接的是GND和GPIO14,因为是下降沿触...
- 注意②:代码中要设置&color(red){输入模式,不下拉,内部上...
#codeprettify{{
//GPIO口结构体定义
gpio_config_t io_conf;
//下降沿触发中断方式
io_conf.intr_type = GPIO_INTR_NEGEDGE;
//选择为输出模式
io_conf.mode = GPIO_MODE_INPUT;
//配置GPIO_OUT寄存器
io_conf.pin_bit_mask = GPIO_SEL_4;
//内部不下拉
io_conf.pull_down_en = 0;//GPIO_PULLDOWN_DISABLE;
//内部上拉
io_conf.pull_up_en = 1;//GPIO_PULLUP_ENABLE;
//最后配置使能
gpio_config(&io_conf);
}}
** 上升沿触发中断 [#m8848dad]
中断触发按键按下来,触发中断,执行回调函数;
- 注意①:中断触发按键连接的是VCC和GPIO14,因为是上升沿触...
- 注意②:代码中要设置&color(red){输入模式,不上拉,内部下...
#codeprettify{{
//GPIO口结构体定义
gpio_config_t io_conf;
//上升沿触发
io_conf.intr_type = GPIO_INTR_POSEDGE;
//选择为输出模式
io_conf.mode = GPIO_MODE_INPUT;
//配置GPIO_OUT寄存器
io_conf.pin_bit_mask = GPIO_SEL_4;
//内部下拉
io_conf.pull_down_en = 1;//GPIO_PULLDOWN_ENABLE;
//禁止上拉
io_conf.pull_up_en = 0;//GPIO_PULLUP_DISABLE;
//最后配置使能
gpio_config(&io_conf);
}}
&ref(ZigBee_体系结构.png);
#hr();
コメント:
#comment_kcaptcha
終了行:
[[ESP32]]
&color(red){※This article is based on esp-idf 4.0};
#contents
* API [#o98a0443]
** mode用于设置gpio的模式 [#w207fc43]
- GPIO_MODE_INPUT 输入
- GPIO_MODE_OUTPUT 输出
- GPIO_MODE_OUTPUT_OD 开漏输出(如果外部或者内部不上拉电...
- GPIO_MODE_INPUT_OUTPUT_OD 开漏输入输出
- GPIO_MODE_INPUT_OUTPUT 输入输出
&color(red){mode设置为 GPIO_MODE_OUTPUT 时,通过 gpio_get...
** pin_bit_mask [#b1526ffe]
pin_bit_mask设置需要操作的GPIO引脚,例如要设置GPIO1和GPIO33
则pin_bit_mask应该设置为
(1ULL << 1 | 1ULL << 33)
注意pin_bit_mask类型为uint64_t
** 中断类型枚举 [#yed8de12]
- GPIO_INTR_DISABLE //禁用GPIO中断
- GPIO_INTR_POSEDGE //GPIO中断类型:上升沿
- GPIO_INTR_NEGEDGE //下降沿
- GPIO_INTR_ANYEDGE //上升沿和下降沿
- GPIO_INTR_LOW_LEVEL //输入低电平触发
- GPIO_INTR_HIGH_LEVEL //输入高电平触发
*输入 [#n721bc2a]
** 下降沿触发中断 [#gc6f8731]
中断触发按键按下来,触发中断,执行回调函数;
- 注意①:中断触发按键连接的是GND和GPIO14,因为是下降沿触...
- 注意②:代码中要设置&color(red){输入模式,不下拉,内部上...
#codeprettify{{
//GPIO口结构体定义
gpio_config_t io_conf;
//下降沿触发中断方式
io_conf.intr_type = GPIO_INTR_NEGEDGE;
//选择为输出模式
io_conf.mode = GPIO_MODE_INPUT;
//配置GPIO_OUT寄存器
io_conf.pin_bit_mask = GPIO_SEL_4;
//内部不下拉
io_conf.pull_down_en = 0;//GPIO_PULLDOWN_DISABLE;
//内部上拉
io_conf.pull_up_en = 1;//GPIO_PULLUP_ENABLE;
//最后配置使能
gpio_config(&io_conf);
}}
** 上升沿触发中断 [#m8848dad]
中断触发按键按下来,触发中断,执行回调函数;
- 注意①:中断触发按键连接的是VCC和GPIO14,因为是上升沿触...
- 注意②:代码中要设置&color(red){输入模式,不上拉,内部下...
#codeprettify{{
//GPIO口结构体定义
gpio_config_t io_conf;
//上升沿触发
io_conf.intr_type = GPIO_INTR_POSEDGE;
//选择为输出模式
io_conf.mode = GPIO_MODE_INPUT;
//配置GPIO_OUT寄存器
io_conf.pin_bit_mask = GPIO_SEL_4;
//内部下拉
io_conf.pull_down_en = 1;//GPIO_PULLDOWN_ENABLE;
//禁止上拉
io_conf.pull_up_en = 0;//GPIO_PULLUP_DISABLE;
//最后配置使能
gpio_config(&io_conf);
}}
&ref(ZigBee_体系结构.png);
#hr();
コメント:
#comment_kcaptcha
ページ名: