完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
ESP-IDF v4.2-dev-1304-gaeff546-dirty ,芯片是ESP32 WROOM-32U
如标题描述,可以通过i2c读到数据,但是i2c_master_cmd_begin()函数会返回ESP_ERR_tiMEOUT问题,其中等待时间不管改成多大都没有用。Code: Select all i2c_cmd_handle_t cmd = i2c_cmd_link_create(); i2c_master_start(cmd); i2c_master_write_byte(cmd, (slave_device_address<<1)|I2C_MASTER_WRITE, ACK_CHECK_EN ); i2c_master_write_byte(cmd, read_address, ACK_CHECK_EN); i2c_master_start(cmd); i2c_master_start(cmd); i2c_master_write_byte(cmd, (slave_device_address<<1)|I2C_MASTER_READ, ACK_CHECK_EN); i2c_master_read(cmd, data_rd, data_length, I2C_MASTER_ACK); i2c_master_stop(cmd); esp_err_t ret = i2c_master_cmd_begin(i2c_num, cmd, 1000/portTICK_RATE_MS); i2c_cmd_link_delete(cmd); return ret; |
|
相关推荐
1个回答
|
|
|
根据您提供的信息和代码,我们可以分析以下几个可能的原因导致ESP_ERR_TIMEOUT错误:
1. **I2C总线冲突**:可能是I2C总线上存在其他设备,导致总线冲突。请检查您的硬件连接,确保I2C总线上没有其他设备干扰。 2. **I2C时钟频率设置不正确**:请检查您的I2C时钟频率设置是否正确。如果设置得太低,可能会导致超时。您可以在初始化I2C时设置时钟频率,例如: ```c i2c_config_t conf = { .mode = I2C_MODE_MASTER, .sda_io_num = GPIO_NUM_18, .scl_io_num = GPIO_NUM_19, .sda_pullup_en = GPIO_PULLUP_ENABLE, .scl_pullup_en = GPIO_PULLUP_ENABLE, .master.clk_speed = 100000, // 设置I2C时钟频率为100kHz }; i2c_param_config(I2C_NUM_0, &conf); ``` 3. **I2C设备地址错误**:请确保您使用的从设备地址是正确的。在您的代码中,您使用了`slave_device_address`,请确保这个值是正确的。 4. **I2C通信协议问题**:请检查您的设备是否遵循标准的I2C通信协议。有些设备可能需要特定的通信协议,例如写入地址后需要发送特定的命令。 5. **ESP-IDF版本问题**:您使用的是ESP-IDF v4.2-dev-1304-gaeff546-dirty版本,这是一个开发版本,可能存在一些未修复的问题。建议您尝试使用稳定版本的ESP-IDF,例如v4.2。 6. **硬件问题**:如果以上方法都无法解决问题,可能是您的ESP32 WROOM-32U硬件存在问题。您可以尝试更换其他ESP32模块进行测试。 为了解决ESP_ERR_TIMEOUT问题,您可以尝试以下步骤: 1. 检查I2C总线连接,确保没有其他设备干扰。 2. 检查I2C时钟频率设置,确保设置正确。 3. 确认从设备地址是否正确。 4. 检查设备是否遵循标准的I2C通信协议。 5. 尝试使用稳定版本的ESP-IDF。 6. 如果以上方法都无法解决问题,尝试更换其他ESP32模块进行测试。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
945 浏览 0 评论
1672 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5021 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1253浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2338浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2527浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1052浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:54 , Processed in 0.618884 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
229
