乐鑫技术交流
直播中

张桂兰

7年用户 1300经验值
私信 关注
[问答]

将项目从esp-idf4.4.2迁移到esp-idf5.0时,iic-master设置频率400K实际输出频率5K,为什么?

最近将以前的项目从esp-idf 4.4.2迁移到了esp-idf 5.0,通过逻辑分析仪采集iic的scl引脚,发现时钟频率变成了5K了。当再烧录esp-idf 4.4.2的固件,测试slc频率是400K,请问这是怎么回事呢?

回帖(2)

云解相

2024-6-6 11:34:48
当访问的iic外设不存在时,iic速率变得很低,当访问的iic外设存在时,iic速度正常了。
举报

刘丰标

2024-6-6 18:17:38
在将项目从ESP-IDF 4.4.2迁移到ESP-IDF 5.0时,I2C主设备设置频率400K实际输出频率变为5K的原因可能有以下几点:

1. **API变更**:ESP-IDF 5.0可能对I2C API进行了一些更改。在迁移过程中,需要确保使用了正确的API函数和参数。请查阅ESP-IDF 5.0的文档,了解I2C API的变更,并根据新版本的API进行相应的代码修改。

2. **配置文件更改**:在迁移过程中,可能需要更新配置文件(如sdkconfig文件)。请检查配置文件中的I2C相关设置,确保它们与ESP-IDF 5.0兼容。

3. **时钟源问题**:ESP-IDF 5.0可能对时钟源进行了更改,导致实际输出频率与预期不符。请检查时钟源设置,确保它们正确配置。

4. **硬件问题**:虽然硬件问题的可能性较小,但仍然需要排除。请检查I2C连接的硬件线路,确保它们没有损坏或接触不良。

5. **固件问题**:在迁移过程中,可能存在固件兼容性问题。请确保ESP-IDF 5.0的固件与您的硬件平台兼容。

为了解决这个问题,您可以尝试以下步骤:

1. **查阅文档**:仔细阅读ESP-IDF 5.0的官方文档,了解I2C API的变更和新特性。

2. **更新代码**:根据ESP-IDF 5.0的API更改,更新您的代码,确保使用正确的函数和参数。

3. **检查配置文件**:检查并更新sdkconfig文件中的I2C相关设置。

4. **检查时钟源**:检查时钟源设置,确保它们正确配置。

5. **测试硬件**:检查I2C连接的硬件线路,确保它们没有损坏或接触不良。

6. **寻求帮助**:如果问题仍然存在,可以在ESP-IDF社区或相关论坛寻求帮助,提供详细信息以便他人帮助您解决问题。

通过以上步骤,您应该能够找到导致I2C主设备设置频率400K实际输出频率变为5K的原因,并采取相应的措施解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分