打印
[国产单片机]

STC单片机读取唯一ID号都为0xFF.

[复制链接]
1210|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,如果勾选了,也会有其他数据,但烧写两个芯片,显示的数据完全一样?按说唯一号,应该有区别。

使用特权

评论回复
5
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中取值,则各型号的地址不一样.
建议看下例程.








使用特权

评论回复
6
elife|  楼主 | 2023-8-25 14:39 | 只看该作者
非常感谢楼上,确实老眼昏花了。现在测试好了,看错了。

使用特权

评论回复
7
coody| | 2023-8-25 15:00 | 只看该作者
放在CHIPID中,木问题。

使用特权

评论回复
8
elife|  楼主 | 2023-8-25 17:06 | 只看该作者
借问一下各位高手,前几天看到有个STC的UCOS的贴子,正准备下载,还没来得及,后来怎么也找不到了,请问谁有链接的,发来学习一下。

使用特权

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

本版积分规则

35

主题

394

帖子

4

粉丝