目前在调一款rtc的芯片,通过iic进行读写的,目前采用的是模拟的方式。
现在的问题是,我用普通的io口进行模拟的话,读写都没有问题,但是如果换成了接了上拉电阻的io口的话,读写都不正常了
个人感觉不可理解
希望各位帮忙分析查找原因
IIC本来就需要上拉的,你用没上拉的IO模拟的时候,应该有接10K的上拉,或许在你的RTC芯片的引脚上已经上拉。
现在的问题是,你换成有上拉电阻的IO,出问题,那是不是你的IO的上拉电阻比较小,然后让整体的IIC信号线上的上拉电阻变得很小?造成通讯失败!
引用: 引用 2 楼 peasant_lee 的回复:
IIC本来就需要上拉的,你用没上拉的IO模拟的时候,应该有接10K的上拉,或许在你的RTC芯片的引脚上已经上拉。
现在的问题是,你换成有上拉电阻的IO,出问题,那是不是你的IO的上拉电阻比较小,然后让整体的IIC信号线上的上拉电阻变得很小?造成通讯失败!
但是这个用于其它芯片的iic读写的时候都没有问题啊
那你要看其他芯片的IIC接口上是不是没有上拉的?而你现在的芯片是带有上拉的,,
假如你肯定你软件时序没错,那估计就是这个问题了。
软件时序的话,我用其它的io口读写都是正常了,应该就是没有问题了吧
再问一下,两次加了上拉就不行吗
看你上拉了多少,因为并联,会减少总的上拉电阻值。一般上拉10K的,IIC
恩,有可能是电阻大小不对
按道理来讲应该不会出这样的问题
但是也有可能,必要的时候楼主再重新配配时序吧