找回密码
 立即注册
查看: 2587|回复: 19

请问下读ID号的问题

[复制链接]

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2023-2-9 17:47:32 | 显示全部楼层 |阅读模式
因为把单片机的ID号用作密码,所以每次上电都会读一次ID号,我想知道在ROM读和在RAM读有什么区别? 读太多次会有什么影响吗?谢谢
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2023-2-9 18:10:35 | 显示全部楼层
只要ID存放位置不被擦除/覆盖的话,读取多少次都没问题。
ID号存放在RAM的位置,如果变量定义太多,或者堆栈使用多一些的话,就可能被覆盖掉,所以不推荐从RAM里面读取。
ID号存放在ROM的位置,如果被划分到EEPROM区域的话,只要所在扇区不被擦除或者改写,里面的内容就不会产生变化。

点评

谢谢  发表于 2023-2-9 23:28
  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-2-9 18:50:16 | 显示全部楼层
ID号,这个功能要用,最好选择有 CHIP-ID功能的芯片:
1,STC32全部有 CHIP-ID 功能
2,部分 STC8H有 CHIP-ID 功能
3,STC8A8K64D4有 CHIP-ID 功能
1.png
2.png

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-2-9 18:51:17 | 显示全部楼层
1.png
1.png

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2023-2-9 23:26:09 | 显示全部楼层

在RAM跟ROM读取都正常,从CHIPID中读取,得到的都是FF,用的STC8A8K64D4,这个是不是没有CHIPID功能吧?用的烧录器的范例程序

点评

STC8A8K64D4系列支持全球唯一ID号(从CHIPID中读取)  详情 回复 发表于 2023-2-10 09:09
  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-2-9 23:37:46 | 显示全部楼层
1.png

2.png
你直接下载 HEX 进去测试,我担心你一改就错

点评

谢谢,区别在这句,P_SW2 = 0x80;,因为后面我用外部晶振之后加了句P_SW2 = 0x00;,所以无效了  发表于 2023-2-10 14:36
  • 打卡等级:偶尔看看III
  • 打卡总天数:32
  • 最近打卡:2025-04-30 10:59:33

25

主题

1154

回帖

2391

积分

超级版主

积分
2391
发表于 2023-2-10 09:09:18 | 显示全部楼层
sky*** 发表于 2023-2-9 23:26
在RAM跟ROM读取都正常,从CHIPID中读取,得到的都是FF,用的STC8A8K64D4,这个是不是没有CHIPID功能吧? ...

1.png

STC8A8K64D4系列支持全球唯一ID号(从CHIPID中读取)
STC官网:https://www.stcai.com/
QQ:2593903262
微信号:18106296598
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-2-10 11:20:27 | 显示全部楼层
读SRAM和CODE都没有次数限制,无穷次读取都可以。
新版的MCU可以从CHIPID中读取。
不建议从SRAM读取,因为SRAM很容易被修改。

点评

谢谢,区别在这句,P_SW2 = 0x80;,因为后面我用外部晶振之后加了句P_SW2 = 0x00;,所以无效了  发表于 2023-2-10 14:37

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2023-2-10 14:44:17 | 显示全部楼层
梁*** 发表于 2023-2-10 11:20
读SRAM和CODE都没有次数限制,无穷次读取都可以。
新版的MCU可以从CHIPID中读取。
不建议从SRAM读取,因为S ...

在这里顺便问下,为什么P_SW2要做个使能和禁止访问?上电直接打开,不再禁止,有什么影响吗?

点评

因为扩展的寄存器放在xdata的地址,为了避免与xdata访问冲突,所以用一个位来选择是访问xdata还是扩展寄存器,只对相同的寄存器地址有效。低于寄存器地址,则不管是否置1,均是访问xdata。 因为xdata地址远远未到扩  详情 回复 发表于 2023-2-10 16:22
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-2-10 16:22:29 | 显示全部楼层
sky*** 发表于 2023-2-10 14:44
在这里顺便问下,为什么P_SW2要做个使能和禁止访问?上电直接打开,不再禁止,有什么影响吗? ...

因为扩展的寄存器放在xdata的地址,为了避免与xdata访问冲突,所以用一个位来选择是访问xdata还是扩展寄存器,只对相同的寄存器地址有效。低于寄存器地址,则不管是否置1,均是访问xdata。
因为xdata地址远远未到扩展的寄存器地址,所以程序一开始就允许,不再禁止,没有影响。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 17:48 , Processed in 0.173235 second(s), 123 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表