beishen2009 发表于 2024-9-15 14:40:13

为什么AI8051U读取出来CHIPID数值都是0呀

#define CPUIDBASE   0xfde0
#define ID_ADDR   ((unsigned char volatile xdata *)(CPUIDBASE + 0x00))
main()
{

            if(ID_ADDR==0)          {
          总是执行这里的代码, }
         else{         }
         


}

请问这是为什么啊

beishen2009 发表于 2024-9-15 15:02:04

本帖最后由 beishen2009 于 2024-9-15 15:23 编辑

有显示了用数码管显示出来是 112 转换城16进制是70 和序列号对不上啊*((unsigned char*)ID_ADDR) 这样出出来数字了 是112对应的第七位编程器读取出来的是 十六进制的是 32


*(char*)CHIPID0;       也是112啊奇怪啊 这是怎么回事啊

soma 发表于 2024-9-15 16:09:07

ID_ADDR==0这句不对吧。

beishen2009 发表于 2024-9-15 17:13:45

那个改了但是 *(char*)CHIPID0;   还是显示11 0-6都是11 用数码管显示的

beishen2009 发表于 2024-9-15 18:03:33

(int) *(unsigned char volatile xdata *)0xfde0 这个chipid0 的值居然等于0 到底是为什么啊

beishen2009 发表于 2024-9-15 18:17:43

ai8051u 读取不出来 chipid 怎么办啊 求救

神农鼎 发表于 2024-9-15 18:40:19









神农鼎 发表于 2024-9-15 18:47:47

再认真看下头文件里面声明了哪些





#define   CHIPID                  ( (unsigned char volatile xdata *)0xfde0)

#define   CHIPID0               (*(unsigned char volatile xdata *)0xfde0)
#define   CHIPID1               (*(unsigned char volatile xdata *)0xfde1)
#define   CHIPID2               (*(unsigned char volatile xdata *)0xfde2)
#define   CHIPID3               (*(unsigned char volatile xdata *)0xfde3)
#define   CHIPID4               (*(unsigned char volatile xdata *)0xfde4)
#define   CHIPID5               (*(unsigned char volatile xdata *)0xfde5)
#define   CHIPID6               (*(unsigned char volatile xdata *)0xfde6)
#define   CHIPID7               (*(unsigned char volatile xdata *)0xfde7)
#define   CHIPID8               (*(unsigned char volatile xdata *)0xfde8)
#define   CHIPID9               (*(unsigned char volatile xdata *)0xfde9)
#define   CHIPID10                (*(unsigned char volatile xdata *)0xfdea)
#define   CHIPID11                (*(unsigned char volatile xdata *)0xfdeb)
#define   CHIPID12                (*(unsigned char volatile xdata *)0xfdec)
#define   CHIPID13                (*(unsigned char volatile xdata *)0xfded)
#define   CHIPID14                (*(unsigned char volatile xdata *)0xfdee)
#define   CHIPID15                (*(unsigned char volatile xdata *)0xfdef)
#define   CHIPID16                (*(unsigned char volatile xdata *)0xfdf0)
#define   CHIPID17                (*(unsigned char volatile xdata *)0xfdf1)
#define   CHIPID18                (*(unsigned char volatile xdata *)0xfdf2)
#define   CHIPID19                (*(unsigned char volatile xdata *)0xfdf3)
#define   CHIPID20                (*(unsigned char volatile xdata *)0xfdf4)
#define   CHIPID21                (*(unsigned char volatile xdata *)0xfdf5)
#define   CHIPID22                (*(unsigned char volatile xdata *)0xfdf6)
#define   CHIPID23                (*(unsigned char volatile xdata *)0xfdf7)
#define   CHIPID24                (*(unsigned char volatile xdata *)0xfdf8)
#define   CHIPID25                (*(unsigned char volatile xdata *)0xfdf9)
#define   CHIPID26                (*(unsigned char volatile xdata *)0xfdfa)
#define   CHIPID27                (*(unsigned char volatile xdata *)0xfdfb)
#define   CHIPID28                (*(unsigned char volatile xdata *)0xfdfc)
#define   CHIPID29                (*(unsigned char volatile xdata *)0xfdfd)
#define   CHIPID30                (*(unsigned char volatile xdata *)0xfdfe)
#define   CHIPID31                (*(unsigned char volatile xdata *)0xfdff)


神农鼎 发表于 2024-9-15 18:50:37








王昱顺 发表于 2024-9-15 19:58:04

beishen2009 发表于 2024-9-15 18:17
ai8051u 读取不出来 chipid 怎么办啊 求救


使用手里的AI8051试验箱测试读取CHIPID,与STCISP对照无误,应该是你的程序问题。
直接通过AI8051.h的定义读取就可以了,我这也是通过数码管显示十六进制。
程序内容和STCISP内的序列号

以下是程序实际运行结果,显示了最后24位的测试流水编号



有关定义:



页: [1] 2
查看完整版本: 为什么AI8051U读取出来CHIPID数值都是0呀