小白OO 发表于 2024-9-30 16:42:28

11F48XE不能用code指针读取EEPROM吗?

用来测试的芯片是STC11F48XE,
专门做了一个用code的指针读取EEPROM的程序,
超过48K的地址就是EEPROM,
但是当读取超过48k的地址是芯片就会复位,
请问这是什么原因呢?哪里搞错了吗?
程只有下面几行简单的代码






soma 发表于 2024-9-30 17:17:13

eeprom不是这样读的吧

小白OO 发表于 2024-9-30 18:01:43

这个型号不能用code指针读取吗?
用下面这个方式读是可以的
/***************************
flash读取一个字节
***************************/
int flashReadByte(unsigned int addr) {
        uint temp = 0;
        IAP_ADDRL =addr;
        IAP_ADDRH = addr >> 8;
        IAP_CONTR = 0x8b;
        IAP_CMD = IAP_BYTE_READ;
        IAP_TRIG = 0x5a;
        IAP_TRIG = 0xa5;
        _nop_();
        temp = IAP_DATA;
        IAP_CONTR = 0;
        IAP_CMD = 0;
        IAP_TRIG = 0;
        IAP_ADDRL = 0xff;
        IAP_ADDRH = 0xff;
        return temp;
}
用这个方式太慢也不好用,以前我者是用指针按数组的方式读的,用了十几年了,现在这个型号用不了了,正奇怪!!!

DebugLab 发表于 2024-9-30 21:14:15

小白OO 发表于 2024-9-30 18:01
这个型号不能用code指针读取吗?
用下面这个方式读是可以的
/***************************


可能是防止被解密的保护机制

神农鼎 发表于 2024-10-1 08:39:04

只让 IAP 读,没设计更多的功能支持
可以改用管脚兼容的 Ai8051U 有这个功能支持
页: [1]
查看完整版本: 11F48XE不能用code指针读取EEPROM吗?