[2天征服IIC]--IIC(TWI)(第2天)
0赞
发表于 1/5/2011 9:08:27 AM
阅读(3024)
avr中的twi与iic是类似的,具体哪里不一样,也没仔细研究过
操作是一样的,avr手册上,里面很详细说明了twi建立,现在可以与24c512通信了
利用一个早上书写代码,下午开始调试,但是通信失败
这个也是预料中的,是哪里问题呢,查看了代码的操作时序,跟手册是一样的,会不会是延时呀
延时分为操作延时和响应延时,在原有的代码中,增加了一个串口输出,来实现调试
结果是响应延时中出了问题,加大响应等待时间,读操作可以了
写操作还是不行,又重新查看了写操作时序,也没问题
既然读可以,写不可以的话,会不会是写保护了,查看引脚配置,果然是配置出问题了
修改下,读写都可以操作了,离下班还一段时间,试试页写入看看
对于24C512读写操作,一页有128字节,操作的话,一次读出/写入最多只能128字节,
超多的话,要用多页读写来操作;而且写入的地址要在同一页中,如果不是要分2次写入
比如,地址0x00-0x7f为一页,如要从0x10写入/读出128字节的话,要分为2段来处理,
一段是0x10-0x7f,一段是0x80-0x8f。否则的话,读出/写入出错
