Arduino core for ESP32,同时使用两路I2C,会出现问题-Arduino中文社区 - Powered by Discuz! Archiver

开在边缘 发表于 2020-6-18 22:33

Arduino core for ESP32,同时使用两路I2C,会出现问题

我使用xTaskCreatePinnedToCore,在两个cpu上各开启了一个任务,两个任务分别使用Wire和Wire1,然后发现两路I2C无法同时进行读写。只要其中一路I2C在读写的时候,另一路I2C就无法读写,只能等着,否则会读写超时。
按理说两路I2C是完全独立的,为什么不会同时工作呢?


开在边缘 发表于 2020-6-18 22:40

不同的通讯速率我也尝试过,无论是100kHz,还是400kHz,都会出现问题。

另外有意思的是,其中一路I2C是连接的OLED,使用u8g2库。然后即便是使用u8g2中的软件I2C,同样也会出现问题。

开在边缘 发表于 2020-6-18 22:43

还有就是我把其中一路I2C换成SPI,竟然也是冲突的。难道I2C+I2C或者I2C+SPI就无法同时工作?

coloz 发表于 2020-6-18 23:52

好像ESP32的IIC都是模拟的,所以并不独立

vincesketch 发表于 2020-6-19 08:05

2个CPU?

开在边缘 发表于 2020-6-19 11:26

vincesketch 发表于 2020-6-19 08:05
2个CPU?

2个CPU内核

Highnose 发表于 2022-1-8 22:20

本帖最后由 Highnose 于 2022-1-8 22:26 编辑

开在边缘 发表于 2020-6-18 22:43
还有就是我把其中一路I2C换成SPI,竟然也是冲突的。难道I2C+I2C或者I2C+SPI就无法同时工作? ...
请问楼主,最后搞定了没有? 是不是你用的那个系统的问题?
页: [1]
查看完整版本: Arduino core for ESP32,同时使用两路I2C,会出现问题