STM32C8T6单片机 AT24C02 读取错误显示255

        今天按照江科大51学习了一下这个芯片,但是换成STM32C8T6却不能正常显示,但是用51接上去,却可以正常读取。

        1.首先需要判断的是,电路是否有搭错,最先的时候我电阻接入面包板的时候接错了,直接接到一横的,也就是电阻两端接到一起了,这是我第一个错误

        2.需要判断芯片是否没有问题,所以我换了实验室里面的全部芯片,直到没有办法,将江科大源码COPY了过来,判断芯片没有问题后再继续测试

        3.需要判断IC2代码没有问题,如果代码之前使用过I2C芯片,那大概率是没有问题,然后就逐步判断代码走到哪一部分,我定义的是C13也就单片机上自带的LED显示,如果能接收到应答位,就说明进行到了哪一位,然后发现,写入代码没有问题,但是到了读取代码的时候,虽然LED还是翻转过来了,但是读取的数据,还是255,因此导致我不知道问题出现在哪里

        4.时序的问题

        

 请看写入周期,最大为5ms,也就是写入数据后,需要等待5ms,在5ms内如果你去读取I2C的数据,那么,芯片是不会理你的,所以在写入I2C的代码,在暂停后面,加上一个Delay_ms(5),完美解决 

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值