马老师,求教!!!我用MEGA16硬件I2C时,TWINT位老不置1!!
求教!!!我用MEGA16硬件I2C时,TWINT位老不置1!!我第一次用MEGA系列,MEGA16L。但在程序启动I2C总线一个起始信号后,I2C中断标志TWINT位总不置位。WHY!!! 为什么没人回复呢???? 我用的128,第一次可以读,第二次就死在那了,也不知道原因 这问题我碰过,这是单片机问题,我用了三个MEGA16L,一个没事,另外两个就像楼主说的那样 我现在也是这个问题头疼呢,前两个还能,第三个就不置1了,死循环在那里,你现在问题解决了吗?? 有可能是SCL时钟过快,还有就是上拉电阻 请问你们解决这个问题没有啊,我的现在也出现这个问题啦! 看到两篇有这个问题,我也要用到了,怎么办?!{:sweat:} 总是先怀疑单片机,这是初学者最常见毛病。单片机当然会有问题,但只有真正的高手,才能证明是单片机的问题。
1、上线要检查电路以及硬件连接是否正确
2. 检查IIC的时钟是否正确。AVR的IIC工作时钟非常重要,你正确设置过吗?如果你是抄的代码,那么你彻底看懂吗?跑这段代码时,AVR系统时钟正确的应该是多少?你熔丝位设置对吗?
有一片AVR可以,而另外1片不行,通常的情况是2片AVR的熔丝位设置不一样,系统工作频率不同造成的。
页:
[1]