智能车制作

标题: CCD程序里这3句什么意思? [打印本页]

作者: 徐云鹏    时间: 2014-2-11 22:38
标题: CCD程序里这3句什么意思?
***********************************************************************************意义            帧头      类型       数据长度     保留字节       CCD数据(128)   CRC   帧尾
数据内容         ‘*’      "LD"          0 132       00 00 00 00        XXX                00       ‘#’   ***********************************************************************************     

② 、SCI_SendData向PC发送一帧数据,与硬件无关。
unsigned char SCI_SendData(unsigned char *data)
{
int len;
unsigned char lrc=0;
PutChar('*'); // 发送帧头,一个字节
len = (int)(data[0]<<8) | (int)(data[1]) ;
data += 2; // 调整指针
PutChar('L'); // 发送帧类型,共两个字节
PutChar('D');
while(len--) // 发送数据的ASCII码,含保留字节和CCD数据
{
SendHex(*data);
lrc += *data++;
}
lrc = 0-lrc; // 计算CRC,可以为任意值
SendHex(lrc); // 发送CRC校验ASCII
PutChar('#'); // 发送帧尾,一个字节
}



作者: 李新帅    时间: 2014-2-12 08:31
串口发送吧
作者: 一誓灬千年    时间: 2014-2-12 09:40
len是计算数据长度
lrc+那句是让发送数据的指针移位
lrc=0-lrc那句是为了校验数据是否发送正确
作者: 徐云鹏    时间: 2014-2-12 13:18
奥,那0减去一个unsiged char类型的数是什么意思,结果是什么?
不吝赐教,感激不尽!!
作者: 凌心    时间: 2014-2-12 14:02
徐云鹏 发表于 2014-2-12 13:18
奥,那0减去一个unsiged char类型的数是什么意思,结果是什么?
不吝赐教,感激不尽!!

你不要去理它是什么类型,简单的说就是取反,做校验用。

作者: 邵志伟    时间: 2014-2-12 14:51
LRC校验  还有CRC之类的  这个是通信学的  你就照搬就行了。
作者: 我们一起走过    时间: 2014-2-13 12:13

作者: 徐云鹏    时间: 2014-2-14 13:58
额,晓得了,谢谢啊




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2