|
lz你好,我现在也在用这个visualscope虚拟示波器,但是我的不能够显示波形,而当用visualscope自带的串口能够正确接受数据,却怎么也显示不出波形,希望lz能够帮我分析一下。
下面贴上我的一部分程序:
这是协议:
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[i];
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);
}
下面是主程序:void main()
{
int i;
delay(500);
InitMPU6050();
delay(150);
TMOD=0x20; //用定时器设置串口波特率2400
TH1=0xf3;
TL1=0xf3;
TR1=1;
REN=1; //串口初始化
SM0=0;
SM1=1;
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[i]; //向串口送出数据这10个字节数据
while(TI==0); //确认发送完成
TI=0;
}
delay(50);
}
}
我的波特率设置成了2400,那个setup也都是了check sum 和crc16两个协议选项,但是当点击run的是后没有出波形?
希望lz帮我看一下
先在此谢过!
今天找了一天资料和调试,都没有搞出来。。。
|
|