|
这两天在测试EEPROM,发现了这个问题。代码如下。- bool Test_ee_CheckAll(void)
- {
- unsigned char TestBuf[32] = "";
- unsigned int size = 32;
- unsigned int i, j, Index, Indexy;
- for (j = 0; (j + size) < EE_SIZE; j += size)
- {
- for (i = 0; i < size; i++)
- {
- TestBuf[i] = i;
-
- }
- if (ee_WriteBytes(TestBuf, j, size) != true)
- {
- return false;
- }
- //delay_ms(10000);
- if (ee_ReadBytes(TestBuf, j, size)!= true)
- {
- return false;//!!!在这里出错。
- }
- for (j = 0; (j + size) < EE_SIZE; j += size)
- {
- for (i = 0; i < size; i++)
- {
- TestBuf[i] = 0;
- }
- if (ee_ReadBytes(TestBuf, j, size) != true)
- {
- return false;
- }
- for (i = 0; i < size; i++)
- {
- if (TestBuf[i] != i)
- {
- return false;
- }
-
-
- }
- }
- return true;
- }
复制代码 驱动是https://forum.anfulai.cn/forum.php?mod=viewthread&tid=15705,用自己写的测试程序,添加了19-22行以后就过不了了(不加可以过),单步了一下发现失败在第21行。在第18行增加10秒的延时都不行。 |
|