STC单片机读取唯一ID号都为0xFF.
stc8a8k64D, eeprom设置为62K,烧写程序后,程序里读取唯一ID号的4,5,6位,都去都为0xFF.如果烧写时勾选 在程序的结束处添加重要测试参数,读取的数据会不一样,但烧写两个IC,发现读取的数据相同。请问有碰到过这个问题吗? 读取方式为: disp1=(*(u8 code *)0xFDE4)>>4;disp2=(*(u8 code *)0xFDE4)&0x0F;请帮看看是什么问题。 为何8位数据只取4位呢.多谢楼上各位,取4位是为了显示HEX值,数码管显示0-F, 资料上的地址也是对的,为什么如果编程时不勾选 在程序的结束处添加重要测试参数这个选项,就是0xff,如果勾选了,也会有其他数据,但烧写两个芯片,显示的数据完全一样?按说唯一号,应该有区别。 本帖最后由 LcwSwust 于 2023-8-25 14:29 编辑
elife 发表于 2023-8-25 13:55
多谢楼上各位,取4位是为了显示HEX值,数码管显示0-F, 资料上的地址也是对的,为什么如果编程时不勾选 在程 ...
地址不对,0xFDE4是xdata中的地址,且EAXFR位要置1;
P_SW2|=0x80;
disp1=(*(u8 xdata *)0xFDE4)>>4;
若要从FLASH中取值,则各型号的地址不一样.
建议看下例程.
非常感谢楼上,确实老眼昏花了。现在测试好了,看错了。 放在CHIPID中,木问题。 借问一下各位高手,前几天看到有个STC的UCOS的贴子,正准备下载,还没来得及,后来怎么也找不到了,请问谁有链接的,发来学习一下。
页:
[1]