本帖最后由 cklgf 于 2011-7-8 23:56 编辑
关于AVR中twi的问题,请教一下大家。
现在我手上有一个由Mega8芯片做的小检测板,它作为twi主从通信中的从机(一对一通讯),即当它接收到主机的发出的读地址后,就向主机发送检测到的数据。
现在我用一个Mega16的芯片通过模拟IIC读取检测板的数据,在刚上电的时候,Mega16与Mega8的检测板通讯很正常,能正确去读到数据,但是过一段时间后(短的时候十几分钟,长的时候一个多小时),就会出现通讯故障,通过示波器发现Mega16给Mega8检测板发读命令后,Mega8没有应答(应答为总为高);不知道大家有没有遇到这种情况,这个什么原因造成?
还有一个问题时,本来Mega8的检测板是用外部4M晶振的,但由于设置熔丝位问题,使芯片设置成使用内部RC 1M的震荡时钟,此时发现用模拟IIC不能正确读取到Mega8的检测数据,但是如果用avr单片机的硬件IIC就能正确读取到,这是为什么? |