请问下读ID号的问题
因为把单片机的ID号用作密码,所以每次上电都会读一次ID号,我想知道在ROM读和在RAM读有什么区别? 读太多次会有什么影响吗?谢谢只要ID存放位置不被擦除/覆盖的话,读取多少次都没问题。
ID号存放在RAM的位置,如果变量定义太多,或者堆栈使用多一些的话,就可能被覆盖掉,所以不推荐从RAM里面读取。
ID号存放在ROM的位置,如果被划分到EEPROM区域的话,只要所在扇区不被擦除或者改写,里面的内容就不会产生变化。 ID号,这个功能要用,最好选择有 CHIP-ID功能的芯片:
1,STC32全部有 CHIP-ID 功能
2,部分 STC8H有 CHIP-ID 功能
3,STC8A8K64D4有 CHIP-ID 功能
神农鼎 发表于 2023-2-9 18:51
在RAM跟ROM读取都正常,从CHIPID中读取,得到的都是FF,用的STC8A8K64D4,这个是不是没有CHIPID功能吧?用的烧录器的范例程序
你直接下载 HEX 进去测试,我担心你一改就错
sky999 发表于 2023-2-9 23:26
在RAM跟ROM读取都正常,从CHIPID中读取,得到的都是FF,用的STC8A8K64D4,这个是不是没有CHIPID功能吧? ...
STC8A8K64D4系列支持全球唯一ID号(从CHIPID中读取)
读SRAM和CODE都没有次数限制,无穷次读取都可以。
新版的MCU可以从CHIPID中读取。
不建议从SRAM读取,因为SRAM很容易被修改。 梁工 发表于 2023-2-10 11:20
读SRAM和CODE都没有次数限制,无穷次读取都可以。
新版的MCU可以从CHIPID中读取。
不建议从SRAM读取,因为S ...
在这里顺便问下,为什么P_SW2要做个使能和禁止访问?上电直接打开,不再禁止,有什么影响吗? sky999 发表于 2023-2-10 14:44
在这里顺便问下,为什么P_SW2要做个使能和禁止访问?上电直接打开,不再禁止,有什么影响吗? ...
因为扩展的寄存器放在xdata的地址,为了避免与xdata访问冲突,所以用一个位来选择是访问xdata还是扩展寄存器,只对相同的寄存器地址有效。低于寄存器地址,则不管是否置1,均是访问xdata。
因为xdata地址远远未到扩展的寄存器地址,所以程序一开始就允许,不再禁止,没有影响。
页:
[1]
2