单片机/MCU论坛
直播中

李欢

7年用户 1087经验值
私信 关注
[问答]

STC单片机有独立的器件ID吗?

[i][i]
怎么获取这个独立的器件ID

回帖(1)

刘易

2023-10-13 10:21:32
STC MCU都具有唯一的MCU ID号,一般保存在RAM的0xF1-F7区域,对于15系列,同时会保存在ROM的最后7个字节中。因此,可以通过字符指针,获取MCU ID值
#define ID_ADDR_RAM 0xF1        //ID号的存放在RAM区的地址为0F1H
#define ID_ADDR_ROM 0x0FF9      //4K程序空间的MCU(如STC15F204EA STC15F104EA) 这个地址要根据芯片换
unsigned char UID[8];
#define RAMID 0
#define ROMID 1
char *GetMCUID(unsigned char nType)
{
    unsigned char idata *iptr;
    unsigned char i;
   
    if (nType == RAMID) {
        iptr = ID_ADDR_RAM;         //从RAM区读取ID号
    }else{
       iptr = ID_ADDR_ROM;  

   }
   for (i=0; i<7; i++) {       //读7个字节
        UID =*iptr++;      
    }
    UID[7]=0; //添加字符串末尾0
    return UID;
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分