完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我不小心弄乱了我的 PCB 设计并将 SSD1306 SCL 连接到 D3(GPIO0) 而不是 D1(GPIO5),SDA 在 D2(GPIO4) 上。我知道 GPIO0 是要避免的,并且有引导模式要做,但因为我已经有了 pcb,我希望有办法保存它。
为了进行测试,我使用了 Adafruit SSD1306 测试草图,其中添加了“Wire.begin(4,0);” 无效。设置。但是,当我再次变黑之前按下按钮时,我只能在屏幕上快速闪烁 adafruit 徽标。 |
|
相关推荐
1个回答
|
|
把SCL和SDA连接到错误的GPIO口可能会导致通信失败,这可能是为什么你看到了快速闪烁 adafruit 徽标的原因。无论如何,为了解决这个问题,有一些可能的解决方案:
1. 更改软件:尝试更改您的软件以使用GPIO0和GPIO4作为SCL和SDA。在arduino IDE中,您可以更改Wire.begin()函数的参数,使其成为“Wire.begin(GPIO4,GPIO0);”,而不是“Wire.begin();”。但是,请注意,这可能与其他代码库不兼容,因此请确保您的其他所有代码都将正确的GPIO口用于SCL和SDA。 2. 更改硬件:如果您选择更改硬件,并根据可能的电路板限制,您可以尝试在将SCL和SDA引脚实际连接到正确的GPIO位置之前将其重新路由。这可能需要一些电路板修补和重新布线,因此可能需要一些专业技能。 3. 继续使用错误的GPIO口:如果您不希望更改软件或硬件,并且希望继续将SCL和SDA连接到GPIO0和GPIO4口,则必须识别可能会导致问题的场景,并相应地调整代码和电路板布局。这将需要进行一些实验和测试,并可能需要更改您使用的库。 请注意,由于连接到错误的GPIO口可能会影响电路板的稳定性和性能,因此我们建议您仔细考虑每个解决方案,并尝试在制作任何更改之前进行适当的测试和分析。 |
|
|
|
只有小组成员才能发言,加入小组>>
524浏览 6评论
433浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
422浏览 5评论
414浏览 4评论
387浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 06:50 , Processed in 0.556101 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号