新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2016-5-24
- 在线时间
- 1 小时
|
1金钱
使用I2C总线来读写EEPROM,I2C驱动是用软件模拟时序的。
目前读写函数内部都有延时5ms,但是在主函数中,我测试1s内 写一次 读一次会出错
然后增加读写间隔延时,达到了80ms才没有问题
但是这个时间延时太长了。请问你们有没有遇到这样的问题?
do
{
Sys_PageWriteToEEPROM(ACMACQ_WritePowerCountEEData.Data,QUEUEELEMENTSIZE,INSERTTIMEPOWER_STARTADDRESS+QUEUEELEMENTSIZE*(ACMACQ_PowerCostTimeCountHead.param.QueueRearPoint));
delay_ms(60+times*10);//延时30ms
Sys_ReadByteToEEPROM(tmp.Data,QUEUEELEMENTSIZE,INSERTTIMEPOWER_STARTADDRESS+QUEUEELEMENTSIZE*(ACMACQ_PowerCostTimeCountHead.param.QueueRearPoint));
delay_ms(60+times*10);//延时30ms
crcTmp=CRCCheck(tmp.Data,QUEUEELEMENTSIZE-2);
times++;
}while(crcTmp != tmp.param.crcCode && times < 5);
|
|