用STC11F01单片机,想用自动变量功能,设置地址0X01F2,数值0X55AA3C,设置后如下图所示:
然后程序中利用IAP读取,程序如下:
#define ID_ADDRH
0x01
#define ID_ADDRL
0xf0
#define IAP_ENABLE
0x87
#define IAP_DISABLE
0x00
#define IAP_READ
0x01
void ID_Read(void)
{
unsigned char
i;
IAP_CONTR = IAP_ENABLE;
IAP_CMD = IAP_READ;
IAP_ADDRH = ID_ADDRH;
for(i = 0;i < 3;i++){
IAP_ADDRL = ID_ADDRL+i;
IAP_TRIG = 0x5a;
IAP_TRIG = 0xa5;
_nop_();
_nop_();
_nop_();
_nop_();
machine_id = IAP_DATA;
}
IAP_CONTR = IAP_DISABLE;
//
machine_id[0] = 0x55;
//
machine_id[1] = 0xaa;
//
machine_id[2] = 0x3c;
}
现在读取的数据均为0xff。哪位大侠指点一下思路是否正确啊,还是程序中有问题。
谢谢了 |