“串口屏协议,串口屏通讯协议,串口屏通讯协议开发技巧,串口屏资料”参数说明
型号: | ,串口屏资料 | 规格: | ,串口屏资料 |
产量: | 33333 |
“串口屏协议,串口屏通讯协议,串口屏通讯协议开发技巧,串口屏资料”详细介绍
串口屏协议,串口屏通讯协议,串口屏通讯协议开发技巧,串口屏资料
1. 设置变量
用户可以通过发送该指令以便控制控件的行为。当用户发送查询变量指令,或者用户通
过鼠标或者触摸屏改变控制板内部变量的时候,控制板也会向用户发送该指令。所以该指令
是双向的,但是格式是不变的。详细解释:
void SetVariable(unsigned int adr,unsigned short nBytes,unsigned char *m_VarP)
{
unsigned char temp;
11
unsigned short m_CheckCRC;//命令校验
UART_SendByte(0x81); //开始,固定,一个字节
UART_SendByte(0x0); //命令类型,设置变量
UART_SendByte(0x2); //接收方的设备号,可以在工程属性里改变设备号
m_CheckCRC=0x81+0x0+0x2; //前面3个字节的和
temp=adr&0xff; //地址1
UART_SendByte(temp);
m_CheckCRC=m_CheckCRC+temp;
temp=(adr>>8)&0xff; //地址2
UART_SendByte(temp);
m_CheckCRC=m_CheckCRC+temp;
temp=(adr>>16)&0xff;
UART_SendByte(temp); //地址3
m_CheckCRC=m_CheckCRC+temp;
temp=(adr>>24)&0xff;
UART_SendByte(temp); //地址4
m_CheckCRC=m_CheckCRC+temp;
temp=(nBytes)&0xff;
UART_SendByte(temp); //个数低8位
m_CheckCRC=m_CheckCRC+temp;
temp=(nBytes>>8)&0xff;
UART_SendByte(temp); //个数高8位
m_CheckCRC=m_CheckCRC+temp;
while(nBytes!=0)
{
temp=*m_VarP;
UART_SendByte(temp);
m_CheckCRC=m_CheckCRC+temp;
nBytes--;
m_VarP++;
}
UART_SendByte(m_CheckCRC);
UART_SendByte(m_CheckCRC>>8);
}
2. 查询变量
用户可以通过发送该指令以便查询控制板上的变量。当用户发送查询变量指令后,控制
板则会向用户发送设置变量指令。详细解释:
void GetVariable(unsigned int adr,unsigned short nBytes)
{
unsigned char temp;
unsigned short m_CheckCRC;//命令校验
UART_SendByte(0x81); //开始,固定,一个字节
12
UART_SendByte(0x1); //命令类型,查询变量
UART_SendByte(0x2); //接收方的设备号,可以在工程属性里改变设备号
m_CheckCRC=0x81+0x0+0x2; //前面3个字节的和
temp=adr&0xff; //地址1
UART_SendByte(temp);
m_CheckCRC=m_CheckCRC+temp;
temp=(adr>>8)&0xff; //地址2
UART_SendByte(temp);
m_CheckCRC=m_CheckCRC+temp;
temp=(adr>>16)&0xff;
UART_SendByte(temp); //地址3
m_CheckCRC=m_CheckCRC+temp;
temp=(adr>>24)&0xff;
UART_SendByte(temp); //地址4
m_CheckCRC=m_CheckCRC+temp;
temp=(nBytes)&0xff;
UART_SendByte(temp); //个数低8位
m_CheckCRC=m_CheckCRC+temp;
temp=(nBytes>>8)&0xff;
UART_SendByte(temp); //个数高8位
m_CheckCRC=m_CheckCRC+temp;
UART_SendByte(m_CheckCRC);
UART_SendByte(m_CheckCRC>>8);
}
3. 校验错误
当用户发送的指令如果校验和数据不对,控制板则会向用户发送检验错误指令。该指令
只由控制板发出给用户,用户不得向控制板发该类型的指令。详细解释见下面注释:
{0x81,0x2,0x2, 0x85, 0x0}
控制板反馈回来的校验和数据由5 个字节构成,
第一个字节:0x81, //开始
第二个字节:0x2 //命令代码,检验和错误。
第三个字节:0x2 // //用户的地址
第四个字节:0x85 //前面三个字节的校验和低8 位。
第五个字节:0x0 //前面三个字节的校验和高8 位。