请问下,迪文的触摸屏,设置了变量显示和录入。通过单片机怎么检测录入的数据是多少??
比如,地址设置位0510 ,我录入了1234. 我想实现,如果录入的就是1234,那么点亮LED,
如果单独用串口检测的话,会收到5A A5 06 83 05 10 01 04 D2
那我单片机检测的话,写
if(Rec_Buf[0]==0x5A && Rec_Buf[3]==0x83)
{
if(Rec_Buf[4]==0x05 && Rec_Buf[5]==0x10)
{
if(Rec_Buf[7]==0x04 && Rec_Buf[8]==0xD2)
{
LED=0; //点亮LED
}
}
}
这种情况就不行,点不亮,
退一步讲,只检测变量显示录入地址的前面8位
if(Rec_Buf[0]==0x5A && Rec_Buf[3]==0x83)
{
if(Rec_Buf[4]==0x05)
{
LED=0; //点亮LED
}
}
这样写,LED也还不会亮,也就是说单片机检测不到变量录入的数据
同理,如果同一页面,有个按键返回,设置地址是0411
if(Rec_Buf[0]==0x5A && Rec_Buf[3]==0x83)
{
if(Rec_Buf[4]==0x04)
{
LED=0; //点亮LED
}
}
这种情况,按键返回就会点亮LED
这是怎么回事????
另外,相同地址的问题,如果我在同一页,再搞个按键返回,地址是0501,那么这个时候如果写
if(Rec_Buf[0]==0x5A && Rec_Buf[3]==0x83)
{
if(Rec_Buf[4]==0x05)
{
LED=0; //点亮LED
}
}
这样写的话,按按键返回,灯是会亮,但是如果是变量录入,录入之后,按下OK ,灯是没反应的。 |