chunyang 发表于 2013-9-17 23:34 
延时判断,如果一个字节传输时间以上的时间内还未有新的数据到来则可以认为是数据传输已结束。 ...
請問版主,一般如何打包數據包發送時,如何处理检验位啊?我想通过一个实现异或功能的函数返回检验位,但这里不知道要怎么来使用定义那个校验函数。这是我写的数据包代码
case 0x01:{
USART_SendData(USART2,0x5A);
USART_SendData(USART2,0x01);
USART_SendData(USART2,0x03);
USART_SendData(USART2,RegBuff[0]);
USART_SendData(USART2,RegBuff[1]);
USART_SendData(USART2,RegBuff[2]);
USART_SendData(USART2,0x5A^0x01^0x03^RegBuff[0]^RegBuff[1]^RegBuff[2]);//这里为数据包校验位,感觉太麻烦,想用异或函数
USART_SendData(USART2,0xFF);
}
case 0x02:{
USART_SendData(USART2,0x5A);
USART_SendData(USART2,0x02);
USART_SendData(USART2,0x03);
USART_SendData(USART2,RegBuff[3]);
USART_SendData(USART2,RegBuff[4]);
USART_SendData(USART2,RegBuff[5]);
USART_SendData(USART2,0x5A^0x02^0x03^RegBuff[3]^RegBuff41]^RegBuff[5]);//这里为数据包校验位,感觉太麻烦,想用异或函数
USART_SendData(USART2,0xFF);
}
请版主指教
|