sky999 发表于 2023-2-9 17:47:32

请问下读ID号的问题

因为把单片机的ID号用作密码,所以每次上电都会读一次ID号,我想知道在ROM读和在RAM读有什么区别? 读太多次会有什么影响吗?谢谢

乘风飞扬 发表于 2023-2-9 18:10:35

只要ID存放位置不被擦除/覆盖的话,读取多少次都没问题。
ID号存放在RAM的位置,如果变量定义太多,或者堆栈使用多一些的话,就可能被覆盖掉,所以不推荐从RAM里面读取。
ID号存放在ROM的位置,如果被划分到EEPROM区域的话,只要所在扇区不被擦除或者改写,里面的内容就不会产生变化。

神农鼎 发表于 2023-2-9 18:50:16

ID号,这个功能要用,最好选择有 CHIP-ID功能的芯片:
1,STC32全部有 CHIP-ID 功能
2,部分 STC8H有 CHIP-ID 功能
3,STC8A8K64D4有 CHIP-ID 功能



神农鼎 发表于 2023-2-9 18:51:17



sky999 发表于 2023-2-9 23:26:09

神农鼎 发表于 2023-2-9 18:51


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

神农鼎 发表于 2023-2-9 23:37:46




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

AI-32位8051 发表于 2023-2-10 09:09:18

sky999 发表于 2023-2-9 23:26
在RAM跟ROM读取都正常,从CHIPID中读取,得到的都是FF,用的STC8A8K64D4,这个是不是没有CHIPID功能吧? ...



STC8A8K64D4系列支持全球唯一ID号(从CHIPID中读取)

梁工 发表于 2023-2-10 11:20:27

读SRAM和CODE都没有次数限制,无穷次读取都可以。
新版的MCU可以从CHIPID中读取。
不建议从SRAM读取,因为SRAM很容易被修改。

sky999 发表于 2023-2-10 14:44:17

梁工 发表于 2023-2-10 11:20
读SRAM和CODE都没有次数限制,无穷次读取都可以。
新版的MCU可以从CHIPID中读取。
不建议从SRAM读取,因为S ...

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

梁工 发表于 2023-2-10 16:22:29

sky999 发表于 2023-2-10 14:44
在这里顺便问下,为什么P_SW2要做个使能和禁止访问?上电直接打开,不再禁止,有什么影响吗? ...

因为扩展的寄存器放在xdata的地址,为了避免与xdata访问冲突,所以用一个位来选择是访问xdata还是扩展寄存器,只对相同的寄存器地址有效。低于寄存器地址,则不管是否置1,均是访问xdata。
因为xdata地址远远未到扩展的寄存器地址,所以程序一开始就允许,不再禁止,没有影响。
页: [1] 2
查看完整版本: 请问下读ID号的问题