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