Huskylens 设置成I2C通信时和OLED有冲突, Arduino上无法正常工作

2020-03-084074
AI 快速预览详细 收起
本文讨论了在Arduino UNO平台上,Huskylens设置为I2C通信时与OLED发生冲突的问题。具体现象包括哈士奇的I2C初始化积木中I2C地址0x55无法更改,实际读取到的地址是0x32,以及加上OLED显示命令后没有任何调试信息打印。文章提供了详细的排查步骤和解决方案,帮助用户快速解决问题。
各位帮忙看看是什么问题?谢谢!

硬件设备:Arduino_UNO, Huskylens , OLED.
软件:Mind+_V1.6.2 RC2.0.

硬件连接:Huskylens , OLED 都挂在UNO的I2C上。

问题:在Microbit平台,运行正常,没有任何问题。
但在Arduino平台,Huskylens 设置成I2C通信时,和OLED有冲突,造成设备无法工作。

现象:
1. 哈士奇和OLED的I2C地址都可以读到,但哈士奇的I2C初始化积木中I2C地址和读取到的地址不一致,且无法更改。没有做任何设置时,读取到的哈士奇的I2C地址是0x32。
哈士奇初始化积木中有个无法更改的I2C地址:0x55,使用后再次读取I2C地址,还是显示0x32.
Huskylens 设置成I2C通信时和OLED有冲突, Arduino上无法正常工作图1Huskylens 设置成I2C通信时和OLED有冲突, Arduino上无法正常工作图2

2. 一旦把OLED显示命令加上去,就没有任何调试信息打印,当然OLED也没有任何显示。
即使把哈士奇的编程积木去掉,只要把哈士奇挂在I2C总线上,程序就没往下走。
Huskylens 设置成I2C通信时和OLED有冲突, Arduino上无法正常工作图3

3. 为了做对比,把Huskylens和OLED都挂在Micron:bit的I2C上,发现运行正常。
Huskylens 设置成I2C通信时和OLED有冲突, Arduino上无法正常工作图4
4.Arduino:代码和Micro:bi几乎完全一样(比较了code,调用的头文件和运行代码一模一样),但运行功能异常,整个系统无法工作。
Huskylens 设置成I2C通信时和OLED有冲突, Arduino上无法正常工作图5






创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
lthirty
lthirty
作者
新版本没这个问题了
DFByptvVYOP
DFByptvVYOP
我跟你有一样的问题,请问你的问题最后解决了吗?
Youyou
Youyou
将I2C的速率设置为100K试试看呢?
- 没有更多了 -