完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
当 D0 (GPIO16) 设置为输出时,我在默认引脚(D1 和 D2)上使用 I2C 时遇到问题。GPIO16 连接到 mosfet 晶体管以驱动两个 LED。通常 GPIO16 运行良好——我可以打开和关闭 LED。问题出在 I2C 上。当我将 D0(GPIO16) 设置为输出时,I2C 接口停止工作。我无法与其他传感器通信。如果我再次将 D0 设置为输入,I2C 将再次工作。为什么 GPIO16 会干扰 I2C?如何解决这个问题?我的设备的架构在附件中。
|
|
相关推荐
1个回答
|
|
GPIO16 在 ESP8266 中有一个特殊的功能,它是引脚复位时的默认状态。在 D1 mini pro 上,它被连接到一个晶体管上,因此当它设置为输出时,会影响 I2C 信号。解决这个问题的最简单的方法是使用一个引脚调整器 (level shifter),让 D0 和 I2C 总线之间使用不同的电平。另一个解决方法是在使用 I2C 总线时将 GPIO16 设置为输入模式,这会恢复正常的 I2C 通信。但是在使用 GPIO16 时,必须注意,避免与 I2C 总线冲突。
|
|
|
|
只有小组成员才能发言,加入小组>>
172个成员聚集在这个小组
加入小组430 浏览 1 评论
1293 浏览 1 评论
598浏览 6评论
496浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
481浏览 5评论
478浏览 4评论
462浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 14:12 , Processed in 0.747452 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号