多次读取RAM ROM中的ID号 前后ID号不一致
如题,先上结果,串口助上打印结查如下:Start...
RAM ID :F7 21 C5 74 10 1F 81
ROM ID :F7 21 C5 74 10 1F 81
RAM ID :F8 11 0D 81 01 17 66
ROM ID :F7 21 C5 74 10 1F 81
代码如下:
char* ID;
printf("Start...\r\n");
ID = (char idata *)0xF1;
printf("RAM ID :");
for (i=0; i<7; i++)printf("%02bX ", ID);
printf("\r\n");
// ID = (char code *)0x1FF9; // STC8G1K08
ID = (char code *)0x3FF9; // STC8G1K16
printf("ROM ID :");
for (i=0; i<7; i++)printf("%02bX ", ID);
printf("\r\n");
ID = (char idata *)0xF1;
printf("RAM ID :");
for (i=0; i<7; i++)printf("%02bX ", ID);
printf("\r\n");
// ID = (char code *)0x1FF9; // STC8G1K08
ID = (char code *)0x3FF9; // STC8G1K16
printf("ROM ID :");
for (i=0; i<7; i++)printf("%02bX ", ID);
printf("\r\n");
具体型号 ? 不同型号不一样的 RAM里面的ID号存放地址一旦被变量/堆栈占用,修改的话,内容就会改变,所以推荐从ROM里面读取。 谢谢回复,问题已解决。
项目中使用了RTX51TNY, 应该是堆栈和RAM_ID 重叠了。
修改了RTX51TNY中的 RAMTOP定义(0FFH改为 0F0H).
页:
[1]