[国产单片机] STC单片机读取唯一ID号都为0xFF.

[复制链接]
1945|9
 楼主| elife 发表于 2023-8-25 11:41 | 显示全部楼层 |阅读模式
stc8a8k64D, eeprom设置为62K,烧写程序后,程序里读取唯一ID号的4,5,6位,都去都为0xFF.  如果烧写时勾选 在程序的结束处添加重要测试参数,读取的数据会不一样,但烧写两个IC,发现读取的数据相同。请问有碰到过这个问题吗?               读取方式为: disp1=(*(u8 code *)0xFDE4)>>4;disp2=(*(u8 code *)0xFDE4)&0x0F;请帮看看是什么问题。
LcwSwust 发表于 2023-8-25 11:57 | 显示全部楼层
为何8位数据只取4位呢.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
STCMCUNT015 发表于 2023-8-25 13:13 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| elife 发表于 2023-8-25 13:55 | 显示全部楼层
多谢楼上各位,取4位是为了显示HEX值,数码管显示0-F, 资料上的地址也是对的,为什么如果编程时不勾选 在程序的结束处添加重要测试参数这个选项,就是0xff,如果勾选了,也会有其他数据,但烧写两个芯片,显示的数据完全一样?按说唯一号,应该有区别。
LcwSwust 发表于 2023-8-25 14:26 | 显示全部楼层
本帖最后由 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中取值,则各型号的地址不一样.
建议看下例程.








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| elife 发表于 2023-8-25 14:39 | 显示全部楼层
非常感谢楼上,确实老眼昏花了。现在测试好了,看错了。
coody 发表于 2023-8-25 15:00 | 显示全部楼层
放在CHIPID中,木问题。
 楼主| elife 发表于 2023-8-25 17:06 | 显示全部楼层
借问一下各位高手,前几天看到有个STC的UCOS的贴子,正准备下载,还没来得及,后来怎么也找不到了,请问谁有链接的,发来学习一下。

评论

@coody :非常感谢,21IC还是高手如云。  发表于 2023-8-26 08:00
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=3934&extra=page%3D1  发表于 2023-8-25 20:34
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

408

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部