niba 发表于 2016-10-10 19:12:23

AVR 是否可以在程序中自己把自己的器件识别寄存器读出来?

通过USBISP编程器是可以读出芯片ID号的   ,不知道AVR 是否可以在程序中自己把自己的器件识别寄存器读出来?主要是显示在界面上,当前用的是啥芯片型号mega64 还是mega128啥的)

niba 发表于 2016-10-10 19:59:57

有哪位大神懂呀

zb05022005 发表于 2016-10-11 07:54:08

好像不行吧。。。
帮你顶顶

wangpengcheng 发表于 2016-10-11 08:09:44

好多年没玩过了,按理来说如果是寄存器里面有,一般都能读得出来吧?您还是搜一搜资料,觉得应该可以,看看.h中的宏定义说不定也会对你有启发的!

t3486784401 发表于 2016-10-11 22:56:25

直接的签名寄存器是没有的,用 Bootloader 相应的指令的话,只有部分型号的 AVR 支持:

1. ATTINY13、ATMEGA8/16/32/64/128 不支持:Bootloader 只能读取锁定位、熔丝位,不能读取签名位(Signature Row).

2. ATTINY24/2313、ATMEGA48/88/128/328/1280/2560 支持:Bootloader 可以读取锁定位、熔丝位及签名位。

凡是可以读取的版本(貌似都是较新型号),其 SPMCSR 寄存器有 SIGRD 位,置位后使用 LPM 指令即可加载。

niba 发表于 2016-10-12 09:07:00

t3486784401 发表于 2016-10-11 22:56
直接的签名寄存器是没有的,用 Bootloader 相应的指令的话,只有部分型号的 AVR 支持:

1. ATTINY13、ATME ...

哦哦。。。看来这其中名堂蛮多的呀

giantwjt88 发表于 2016-10-13 14:20:35

mark一下

Hhhhhhhh 发表于 2016-10-15 08:52:34

没有专门的寄存器,不过可以自己在程序里写

marshallemon 发表于 2016-10-15 08:54:49

自己写bootloader试试看
页: [1]
查看完整版本: AVR 是否可以在程序中自己把自己的器件识别寄存器读出来?