|
本帖最后由 xiaofangzi 于 2022-7-24 19:12 编辑
C51 程序读取UI变量,根据变量数值进行判断,判断结果与预期有较大差异!
static xdata u32 oldstep ;
gCmd = Read32_Dgus(SET_CMD);
if(gCmd != oldstep )
{
oldsstep = gCmd ;
printf("gcmd=%d old=%d \r\n",gCmd,oldstep);//gCmd=1
if(gCmd == 1)
{
printf("==1,gcmd=%d , step=%d \r\n",gCmd,step);//即使gCmd=1时不进入该语句
}
else
{
printf("other,gcmd=%d , step=%d \r\n",gCmd,step);
}
}
当gcmd =1时
打印的信息:
【
gcmd=1 old=0
other,gcmd=1 , step=0
】
其中读取函数
u32 Read32_Dgus(u16 Dgus_Addr)
{
u32 R_Dgus=0;
EA = 0;
ADR_H = 0x00;
ADR_M = (u8)((Dgus_Addr/2)>>8);
ADR_L = (u8)(Dgus_Addr/2);
RAMMODE = 0xAF; //读操作
while(!APP_ACK);
APP_EN = 1;
while(APP_EN);
if(Dgus_Addr%2) R_Dgus = (DATA1<<8)+DATA0;
else
{
R_Dgus = (DATA3<<8)+DATA2;
R_Dgus= (R_Dgus<<16) + (DATA1<<8) + DATA0;
}
RAMMODE = 0;
EA = 1;
return R_Dgus;
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|