找回密码
 立即注册
查看: 715|回复: 2

STC8H3K64S4单片机ID读取错误

[复制链接]

5

主题

5

回帖

52

积分

注册会员

积分
52
发表于 2023-11-30 16:16:32 | 显示全部楼层 |阅读模式
使用STC8H3K64S4单片机,该单片机没有CHIPID寄存器,因此,采用从ROM中读取ID的方式,代码如下所示。采用下面中的代码读取ID,大部分时候可以正确读取,但是会有偶发性读取错误。读取错误时,读到的全部为FF。并且读取错误故障发生后,会一直读取错误,反复上下电依然会读取错误。只有重新烧写程序,才会正确读取。求大神指导!!!!


void Password_Check()
{
        u8* Id_Ptr;
        u8 Id_Code[7];
        extern u8 Password_Frame_ID[];
      

      
        //打开XFR
        EAXSFR();


      
        //初始化ID指针
        Id_Ptr = (u8 code*)0xFDF9;
      
        //读取ID
        for(i=0;i<7;i++)
        {
                Id_Code[i] = Id_Ptr[i];
                Password_Frame_ID[i+2] = Id_Ptr[i];
        }
      
        //关闭XFR
        EAXRAM();
}
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6845

积分

论坛元老

积分
6845
发表于 2023-11-30 19:18:26 | 显示全部楼层
烧录附件的例程试试

串口打印芯片参数.zip

9.15 KB, 下载次数: 68

回复 支持 反对

使用道具 举报 送花

5

主题

5

回帖

52

积分

注册会员

积分
52
发表于 2023-12-1 14:46:40 | 显示全部楼层
乘风*** 发表于 2023-11-30 19:18
烧录附件的例程试试

感谢指导,问题已解决,我的EEPROM大小设置为1k,在擦除EEPROM的0~511部分时,会将ID擦掉。ROM里面的ID在使用时,要注意与EEPROM地址是否会重合。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 17:46 , Processed in 0.112871 second(s), 61 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表