|
本帖最后由 huster_tjs 于 2014-3-16 14:22 编辑
我现在用这个示波器遇到了一个困难,就是能够用串口接收数据,但是不显示波形;我看了很多人遇到了这个问题,都没有人能好好解答出来,希望在这里能够获得帮助!
我下面贴一下我的部分代码
这是串口输出代码:
while(1)
{
buff2[0]=complement_filter((float) Read_Acc(),(float) Read_Gry()); //低字节数据
buff2[1]=0x00; //高字节数据
buff2[2]=Read_Acc();
buff2[3]=0x00;
buff2[4]=Read_Gry();
buff2[5]=0x00;
buff2[6]=0x00;
buff2[7]=0x00;
buff2[8] =CRC_CHECK(buff2, 8)&0x00ff; //将第9个数据赋上CRC的低字节
buff2[9] =(CRC_CHECK(buff2, 8)&0xff00)>>8; //第10数据附上CRC的高字节
for(i=0;i<10;i++) //连续输入十个数据
{
SBUF=buff2; //向串口送出数据这10个字节数据
while(TI==0); //确认发送完成
TI=0;
}
delay(50);
这是校验码第九位和第十位代码:
unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT) //这个是协议,生成第九第十位校验码
{
unsigned short CRC_Temp;
unsigned char i,j;
CRC_Temp = 0xffff;
for (i=0;i<CRC_CNT; i++){
CRC_Temp ^= Buf;
for (j=0;j<8;j++) {
if (CRC_Temp & 0x01)
CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
else
CRC_Temp = CRC_Temp >> 1;
}
}
return(CRC_Temp);
}
不知道怎么就不显示波形,昨天搞了一天没有搞出来,都伤心死了。。
|
|