一共12个管脚做为输入,因为有复合按键功能,所以不能用矩阵的方式
所有的按键都外接3.3V上拉,电阻4.7K,结果其它按键工作都正常,只有这两个工作不正常
IO15和IO17不能工作的现象还不一样,
当按键按下时,IO15在外部量着电压变化正常,不按时是3.3V,按下是0V,但程序里检测不到
IO17是不管按下没有,直接量IO17的管脚电压,都是0,因为没有电压变化,所以没办法检测到
uint8_t keyNum[13]={8,18,17,16 ,15,7,21,4 ,6,45,5,9, 47};//定义了13个,最后一个用做其它用途
初始化部分代码
gpio_config_t key_gpio_config;
key_gpio_config.mode = GPIO_MODE_INPUT;
key_gpio_config.pull_up_en = 1;
key_gpio_config.pull_down_en = 0;
key_gpio_config.pin_bit_mask = 0;
key_gpio_config.intr_type = 0;
for (int i = 0; i < 12; i++)
{
key_gpio_config.pin_bit_mask |= 1ULL << keyNum;
}
ESP_ERROR_CHECK(gpio_config(&key_gpio_config));
key_gpio_config.mode = GPIO_MODE_OUTPUT;
key_gpio_config.pull_down_en = 1;
key_gpio_config.pin_bit_mask = 1ULL << keyNum[12];
ESP_ERROR_CHECK(gpio_config(&key_gpio_config));
检测部分代码
uint16_t ReadKey(void)
{
uint16_t nKey = 0;//0x8000;
for (size_t i = 0; i < 11; i++)
{
if (!gpio_get_level(keyNum))
{
nKey |= 1ULL << i;
}
}
return nKey;
}
ESP32-S3-WRoom-1 GPIO15和GPIO17做为输入管脚工作不正常
Jump to
- English Forum
- Explore
- News
- General Discussion
- FAQ
- Documentation
- Documentation
- Sample Code
- Discussion Forum
- ESP32-S31
- Hardware
- ESP-IDF
- ESP-BOX
- ESP-ADF
- ESP-MDF
- ESP-WHO
- ESP-SkaiNet
- ESP32 Arduino
- IDEs for ESP-IDF
- ESP-AT
- ESP IoT Solution
- ESP RainMaker
- Rust
- ESP8266
- Report Bugs
- Showcase
- Chinese Forum 中文社区
- 活动区
- 乐鑫活动专区
- 讨论区
- ESP32-S31 中文讨论版
- 喵伴 中文讨论版
- ESP-IDF 中文讨论版
- 《ESP32-C3 物联网工程开发实战》书籍讨论版
- 中文文档讨论版
- ESP-AT 中文讨论版
- ESP-BOX 中文讨论版
- ESP IoT Solution 中文讨论版
- ESP-ADF 中文讨论版
- ESP Mesh 中文讨论版
- ESP Cloud 中文讨论版
- ESP-WHO 中文讨论版
- ESP-SkaiNet 中文讨论版
- ESP 生产支持讨论版
- 硬件问题讨论
- 项目展示
Who is online
Users browsing this forum: No registered users and 0 guests
- All times are UTC
- Top
- Delete cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. ESP8266EX and ESP32 are some of our products.
Information
Espressif ESP32 ... Available now!