完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在使用STM32软件模拟IIC通信,读写AT24C02的时候,出现了能读不能写的情况,一番纠结无果后,直接用上了正点原子的例程,仍然是能读不能写,我怀疑板子出问题了,但是换了一块板子也是同样的情况,我又换了野火哥的例程,和另一个网上的例程,两块板子任然是能读不能写,我现在怀疑是不是keil软件有什么设置不对,有大佬指点指点吗? |
|
相关推荐
3个回答
|
|
可能是AT24C02的写保护被打开了,可以先尝试写入AT24C02的控制寄存器来解除写保护。同时,还需要注意软件模拟IIC的时序和波形是否正确,可以通过示波器观察IIC总线上的波形以确认。如果以上方法都无法解决问题,可以考虑将AT24C02更换为另一个同类型的芯片来测试。
|
|
1 条评论
|
|
1.首先检查硬件,I2C是否连接上拉电阻,供电是否与信号线电平一致
2.使用示波器抓取I2C信号,看看波形,读取数据正确就先看看读取的波形是否与想象一致.有可能波形异常,只是恰好得到了你期待的结果,误以为通讯成功 按道理I2C读取需要先写入地址,按道理读取没问题,写入应该也是正常的,不然如何进行寻址? 建议先检查硬件连接,之后使用示波器排查问题 |
|
1 条评论
|
|
stm32应该自带IIC的,自己写的话容易出问题,使用相关的库函数会比较靠谱!另外也要注意上拉电阻。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
702 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1099 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1573 浏览 1 评论
532 浏览 0 评论
1065 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 04:38 , Processed in 0.777175 second(s), Total 96, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号