今天按照江科大51学习了一下这个芯片,但是换成STM32C8T6却不能正常显示,但是用51接上去,却可以正常读取。
1.首先需要判断的是,电路是否有搭错,最先的时候我电阻接入面包板的时候接错了,直接接到一横的,也就是电阻两端接到一起了,这是我第一个错误
2.需要判断芯片是否没有问题,所以我换了实验室里面的全部芯片,直到没有办法,将江科大源码COPY了过来,判断芯片没有问题后再继续测试
3.需要判断IC2代码没有问题,如果代码之前使用过I2C芯片,那大概率是没有问题,然后就逐步判断代码走到哪一部分,我定义的是C13也就单片机上自带的LED显示,如果能接收到应答位,就说明进行到了哪一位,然后发现,写入代码没有问题,但是到了读取代码的时候,虽然LED还是翻转过来了,但是读取的数据,还是255,因此导致我不知道问题出现在哪里
4.时序的问题
请看写入周期,最大为5ms,也就是写入数据后,需要等待5ms,在5ms内如果你去读取I2C的数据,那么,芯片是不会理你的,所以在写入I2C的代码,在暂停后面,加上一个Delay_ms(5),完美解决