serialplot虚拟串口示波器使用方法
最近在调飞思卡尔小车.为了使单片机中数据在电脑的窗口中以波的形式呈现,使用了serialplot这个软件.
先看效果(为多通道效果)
此图中所显示的数据是字符
uchar a[5]={'2','3','0','0','\0'};
uchar b[5]= {'3','3','0','0','\0'};
uchar c[5] = {'1','3','0','0','\0'};
void Uart_Sendstr(uchar *dat)
{
while(*dat != '\0')//要确保你的字符数据的最后一位为'\0'
{
SBUF = *dat;
while(!TI);//等待发送完成
TI = 0;//清楚发送完成标志位
dat++;//dat这个指针变量加1;(这个加1根据你的指针类型来确定具体加多少)
}
}
void Send_dat(uchar *dat1, uchar *dat2, uchar *dat3)
{
Uart_Sendstr(dat1);//发送第一个数据
SBUF = ',';//通道数据分隔符
while(!TI);
TI = 0;
Uart_Sendstr(dat2);
SBUF = ',';
while(!TI);
TI = 0;
Uart_Sendstr(dat3);
SBUF = ',';
while(!TI);
TI = 0;
SBUF = '\n';//在发送所有通道数据之后,跟一个换行符
while(!TI);
TI = 0;
}
void IntT0() interrupt 1
{
nTime++;
if(nTime > 300)
{
nTime = 0;
Send_dat(a,b,c);
}
}
注意’\n’在STC-ISP和XCOM没有显示,若不确定是否有’\n’,可以使用SSCOM这个软件
这个界面下是这个软件可识别的数据.有二进制数据,也就是hex(如果你发现你的波所显示的数据与你串口接受到的数据不相同,先确定一下是否数据匹配)当串口发送的数据为ASCII码时,请选择ASCII.column Deliaiter为不同通道数据之间的符号.相信由我的sscom串口中的数据就可以知道coma为字符','
.spcae和tab没用过就不讨论了.
Text View为串口数据显示界面.若接受的数据不再更行,可能是因为已达到数据存储上限.可通过改变Num.Lines来改变这个存储数据上限.相应的也会改变图中波形显示框中的横轴上限.Decimals是控制你接受的数据被显示时的小数点位数(不知道接受数据类型为ASCII时,可不可以用.在数据类型为simple binary时,有用).
注意:
DTR.RTS不要点亮.若点亮了,可能现象,打开串口只会接收几个数据,就不再接收.
感谢编写这个软件的作者Hasan Yavuz Özderya.作者项目链接
同时感谢这个网址让我知道有这个软件
SSCOM软件网址
欢迎提问和批评