智能车制作
标题:
关于串口示波器Visual Scope的问题大家帮帮我吧!
[打印本页]
作者:
txz001
时间:
2012-3-10 19:37
标题:
关于串口示波器Visual Scope的问题大家帮帮我吧!
我按照Visual Scope数据格式要求,在C51做了个模拟送数据,可Visual Scope就是不能显示。用它自带的串口助手,检测数据都是正确的。很急啊,做了陀螺仪数据和加速度计数据还等着用它来测试对比信号情况呢。我发上代码和,串口助手接收的图,大家帮我找找原因啊!
#include <AT89X52.H>
#include <intrins.H>
#define uchar unsigned char
#define uint unsigned int
uchar buff2[10];//定义要发送的10个数据
/*********************************
// 延时毫秒函数,对12MHz晶振
// ,刚好为1000毫秒
**********************************/
void Delayms(uint count)
{
uint i;
while(count--)
{ for(i=0;i<80;i++){}
}
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
//****************************************************
//CRC_CHECK函数做一个10字节的数据包以便向串口发送数据
//让Visualscop程序可以实时显示出波形
//*****************************************************
void CRC_CHECK(unsigned char *Buf, unsigned char Len)
{
unsigned int CRC_Temp;
unsigned char i,j;
CRC_Temp = 0xffff; //CRC初始化
for (i=0;i<Len; i++)//要循环的次数,就是Buf的字节数
{
CRC_Temp ^= Buf; //逐字节异或
for (j=0;j<8;j++)
{
if (CRC_Temp & 0x01) //如果低位为1
{
CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001; //将CRC右移一位后与0xA001异或
}
else //如果低位为0
{
CRC_Temp = CRC_Temp >> 1; //将CRC右移一位
}
}
}
Buf[8] = CRC_Temp & 0x00ff; //将第9个数据赋上CRC的低字节
Buf[9] =CRC_Temp >>8;//第10数据上是CRC的高字节
}
//****************
// 主函数
//****************
void Main( void )
{ uchar i,Sta,tmp;
//?------设置串口------
SCON=0x50; //串口方式1
TMOD=0x20; //定时器1,定时方式为2
PCON=0x00; //设定串口工作方式1/64
TCON=0x40; //设定时器1开始计数
TH1=0xfd; //设定波特率为9600
TL1=0xfd; //
TR1=1; //启动定时器
Sta=0;//计数的状态标志,0为向上递增,1为向下递减
tmp=0;//要显示的波形数据
while(1)
{ if(Sta==0)//如果Sta为0,将tmp逐次递增并赋给buff2[0]
{
buff2[0]=tmp;
CRC_CHECK(buff2, 8);//准备数据
for(i=0;i<10;i++)
{
SBUF=buff2; //向串口送出数据这10个字节数据
while(TI==0); //确认发送完成
TI=0;
}
tmp++; //递增
if(tmp==255)//如果tmp递增到255,就改变状态为1,进行递减操作
{
Sta=1;
}
}
else //如果Sta为1时就进行递减操作
{
buff2[0]=tmp;
CRC_CHECK(buff2, 8);//准备数据
for(i=0;i<10;i++)
{
SBUF=buff2; //向串口送出数据这10个字节数据
while(TI==0);
TI=0;
}
tmp--; //递减
if(tmp==0)//当tmp递减到0时,改变Sta状态
{
Sta=0;
}
}
Delayms(20);//延时20毫秒
}
}
图片我怎么发不上去呢?
作者:
玩ㄝ★卟恭
时间:
2012-3-16 14:44
楼主和我遇到 一个问题 已经遵守CRC16协议 为什么还是没有显示波形 请问楼主解决了吗
作者:
liucheng_34
时间:
2012-4-10 12:54
那位大神能指导我们下,不胜感激!
作者:
txz001
时间:
2012-4-12 23:13
我自己解决了,程序是正确的,是我的显示屏太小,800 x 600的,看不到RUN键,就以为左上角那个播放键是一样的功能,后来才知道不是,我铵TAB键切到RUN键后按确认,就能看到了。
作者:
意林
时间:
2012-4-15 01:24
txz001 发表于 2012-4-12 23:13
我自己解决了,程序是正确的,是我的显示屏太小,800 x 600的,看不到RUN键,就以为左上角那个播放键是一样 ...
没看懂说明文档怎么办?求楼主赐教,,,,,,,
CRC16是检验吗?数据格式是什么呢?
作者:
renqinglei
时间:
2012-4-17 21:22
txz001 发表于 2012-4-12 23:13
我自己解决了,程序是正确的,是我的显示屏太小,800 x 600的,看不到RUN键,就以为左上角那个播放键是一样 ...
我按你这个怎么看不到呢?
作者:
蒙雨轩逸
时间:
2012-4-25 22:12
哥们,我也是做电磁的。我的求求452091217,希望你能加我。
作者:
87外泄
时间:
2012-5-15 20:30
作者:
书的那页
时间:
2012-6-5 16:36
可以加下qq吗?我的541291141 请教下那个上位机,可能都会有进步
作者:
cqhb小麦
时间:
2013-1-20 21:27
呵呵
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2