• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

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

丁飞人人 2020-02-21 浏览量:814
怎么获取这个独立的器件ID
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 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[i] =*iptr++;      
        }
        UID[7]=0; //添加字符串末尾0
        return UID;
    }



    • 发布于 2020-02-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 有的,你可以在STC单片机唯一ID保护的例子及思路中看到这个ID是可以通过串口读出的
    • 发布于2020-02-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 是有的,这一系列的51单片机是有的,一般是在0xF1-F7地址范围内
    • 发布于2020-02-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 是有的,可以从在RAM的0xF1-F7地址内读取出来芯片的ID码
    • 发布于2020-02-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 有的,直接开机读取ram的0xf1到0xf7内容就是id
    • 发布于2020-03-01
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

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