Arduino core for ESP32,同时使用两路I2C,会出现问题
我使用xTaskCreatePinnedToCore,在两个cpu上各开启了一个任务,两个任务分别使用Wire和Wire1,然后发现两路I2C无法同时进行读写。只要其中一路I2C在读写的时候,另一路I2C就无法读写,只能等着,否则会读写超时。按理说两路I2C是完全独立的,为什么不会同时工作呢?
不同的通讯速率我也尝试过,无论是100kHz,还是400kHz,都会出现问题。
另外有意思的是,其中一路I2C是连接的OLED,使用u8g2库。然后即便是使用u8g2中的软件I2C,同样也会出现问题。 还有就是我把其中一路I2C换成SPI,竟然也是冲突的。难道I2C+I2C或者I2C+SPI就无法同时工作? 好像ESP32的IIC都是模拟的,所以并不独立 2个CPU? vincesketch 发表于 2020-6-19 08:05
2个CPU?
2个CPU内核 本帖最后由 Highnose 于 2022-1-8 22:26 编辑
开在边缘 发表于 2020-6-18 22:43
还有就是我把其中一路I2C换成SPI,竟然也是冲突的。难道I2C+I2C或者I2C+SPI就无法同时工作? ...
请问楼主,最后搞定了没有? 是不是你用的那个系统的问题?
页:
[1]