1、使用1Mhz频率,并通过修改分频系数将主机频率降至100Khz左右,项目需要,将频率改成16Mhz,发现数据写入不成功,分频系数没有错误,判断应该是没有那么大的分频可以分(这个还未确定),通过选择ACLK,并在基础时钟上设置分频,分到最低2Mhz,再在usci_i2c中设置分频系数,就可以了
2、读写数据不一致
万思不得其解,写入一段数据,发现有些地址写进去,竟然只有几个字节有效,其他数据读出来均为0xff,也就是写未成功。这个是因为我的EEPROM如果使用页写入的话,是支持64字节的写入,这样,假如写入地址为0x30,后续只能写入16个字节,如果同时写入超过16个字节,数据只有部分写入。
3、读写速率慢
主机控制频率,在时钟上分频太低,导致读写数据太慢。
2015.5.21
遇到一个不理解的问题,做一下记录
在使用页写入eeprom时,假如写入两个字节,也就是16位的数,将它强制转换为字符串,然后写入,结果不是预期的值。
uint16 val=0x1234;
eeprom_writepage(addr,(uint8 *)val);
delay();
//然后读取
eeprom_readpage(addr,data); //data[2]
//打印data[2]
printf(data[2]); //结果,为0xe2e2
|