liuzonggong 发表于 2024-11-8 20:48:33

AI8H2K17U读eeprom的错误因对办法

         在用AI8H2K17U读eeprom读取数据的时候读取0x0000,字节,第一次读的时候返回00,第二次读才返回真值,经过研究,读取两次,第一次虚读就能避免。
但是为了这个一个字节每个字节就要读两次太浪费时间了,经过实验,在启动读取命令前多延迟一下也不起作用,后来想是否是启动两次就行了呢,就发送两次
    IAP_TRIG = 0x5a;            
    IAP_TRIG = 0xa5;                        
    IAP_TRIG = 0x5a;                           
    IAP_TRIG = 0xa5;      
这样就行了,实验了一个下午呢。                     



神农鼎 发表于 2024-11-8 21:43:39

1,烧录时要设置 EEPROM 大小,停电再上电后,新设置生效

2,


liuzonggong 发表于 2024-11-8 21:54:01

神农鼎 发表于 2024-11-8 21:43
1,烧录时要设置 EEPROM 大小,停电再上电后,新设置生效

2,

谢谢回复,能试的都试过了,读取0x0000地址不行,其他的地址没问题,读0x00两遍第二遍也对。

邮箱 发表于 2024-11-9 10:14:20

本帖最后由 邮箱 于 2024-11-9 10:17 编辑

liuzonggong 发表于 2024-11-8 21:54
谢谢回复,能试的都试过了,读取0x0000地址不行,其他的地址没问题,读0x00两遍第二遍也对。 ...

使用偏移地址 + MOVC 读取
*( unsigned char code *)(addr)
页: [1]
查看完整版本: AI8H2K17U读eeprom的错误因对办法