|
楼主 |
发表于 2013-11-21 10:43:24
|
显示全部楼层
本帖最后由 xiaobenyi 于 2013-11-21 10:50 编辑
火红 发表于 2013-11-20 21:13
楼主,你为什么不直接用CH341ReadEEPROM和CH341WriteEEPROM两个函数呢?
我现在遇到个问题:我如果选择24C0 ...
CH341原厂提供的函数,如果芯片无应答会返回FF,也就是说,你不知道是无应答还是数据就是FF
这一点是遇到了的,所以跟原厂的人联系过,所以重写了这个函数
至于24C02当成24C04读的问题,应该是EEPROM厂家不同的差别
ATMEL和microchip其中一家,具体哪家我也不记得了,或者只是早期版本,他会关心A2:A0的接法,用来扩展更多容量;
而另一家(或者是新版本的芯片)的A2:0是NC,也就是不关心,在写device Address 的时候, 只比较前面的1010就应答,这样就会读出两份,而如果A2:0不对就不应答,就会只能读出一份,后面的是FF
我的软件关心了是否应答,所以,如果把24C02当作24C04来读,会有两种情况
1. 如果芯片不关心A2:0, 那么会读出两份重复的
2. 如果芯片关心A2:0, 那读到高地址位的时候,会出错退出,因为没有收到应答信号
有时间我也试试看结果是否如此 |
|