11F48XE不能用code指针读取EEPROM吗?
用来测试的芯片是STC11F48XE,专门做了一个用code的指针读取EEPROM的程序,
超过48K的地址就是EEPROM,
但是当读取超过48k的地址是芯片就会复位,
请问这是什么原因呢?哪里搞错了吗?
程只有下面几行简单的代码
eeprom不是这样读的吧 这个型号不能用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;
}
用这个方式太慢也不好用,以前我者是用指针按数组的方式读的,用了十几年了,现在这个型号用不了了,正奇怪!!! 小白OO 发表于 2024-9-30 18:01
这个型号不能用code指针读取吗?
用下面这个方式读是可以的
/***************************
可能是防止被解密的保护机制 只让 IAP 读,没设计更多的功能支持
可以改用管脚兼容的 Ai8051U 有这个功能支持
页:
[1]