作者:手机用户2502932807 | 来源:互联网 | 2023-09-23 05:24
单片机开发过程中串口是最常用的调试手段,可以将代码运行过程中的各种变量通过串口发送出来,以便观察程序的运行状态。
特别是在调试传感器采集数据时,可以通过串口来分析采样数据。但是单纯的看数据很难观察出来数据曲线的走势,如果可以将串口接收的数据通过曲线的方式绘制出来,对于调试代码来说就更方面了。
今天推荐一款串口波形显示软件SerialChart,官方下载地址为:http://www.starlino.com/serialchart
打开网页后,点击红圈位置,直接下载就行。
打开文件夹,直接双击SerialChart.exe文件运行。
软件界面如下:
这个软件需要在右边配置区域设置,最简单的设置只修改串口号和波特率就行了。但是为了观察波形方便,对数据范围和波形通道颜色都设置一下。
修改后的参数如下图所示:
下来编写测试代码,看一下显示效果。
void main( void )
{__asm( "sim" ); //系统初始化SysClkInit(); delay_init( 16 );LED_GPIO_Init();Uart1_IO_Init();Uart1_Init( 9600 );__asm( "rim" ); while( 1 ){LED &#61; ~LED;for(ch1&#61;0;ch1<500;ch1&#43;&#43;)printf("%d\r\n",ch1);delay_ms( 200 );}
}
LED闪烁用来指示单片机运行状态&#xff0c;然后串口循环打印 数字 0---500&#xff0c;软件显示效果如下&#xff1a;
数据接收区显示串口接收到的数据&#xff0c;波形显示区&#xff0c;将接收到的数据绘制成曲线。这是只显示一个通道的曲线。
下面测试一下显示两个通道的曲线。修改代码为每次发送两组数据。
while( 1 ){LED &#61; ~LED;for( ch1 &#61; 0, ch2 &#61; 500; ch1<500, ch2>0; ch1&#43;&#43;, ch2-- )printf( "%d,%d\r\n", ch1, ch2 );delay_ms( 200 );}
发送两组数据&#xff0c;ch1为0--500递增&#xff0c;ch2为 500---0递减。串口发送时两组数据之间要用逗号隔开。
可以看到两个波形刚好相反&#xff0c;ch1波形为绿色&#xff0c;ch2波形为黄色。和配置文件中设置的颜色相同。
下面发送4组波形测试一下&#xff0c;修改测试代码如下&#xff1a;
while( 1 ){LED &#61; ~LED;for( ch1 &#61; 0, ch2 &#61; 100, ch3 &#61; 200, ch4 &#61; 300 ; ch1 <50, ch2 <150, ch3 <250, ch4 <350; ch1&#43;&#43;, ch2&#43;&#43;, ch3&#43;&#43;, ch4&#43;&#43; )printf( "%d,%d,%d,%d\r\n", ch1, ch2, ch3, ch4 );delay_ms( 200 );}
ch1为0--50&#xff0c;ch2为100--150&#xff0c;ch3为200--250&#xff0c;ch4为300--350。显示效果如下&#xff1a;
显示波形的通道数根据自己使用情况可以自由添加&#xff0c;这里就不在测试了。串口发送数据时&#xff0c;每个通道的数据之间要用逗号分开&#xff0c;发送完一组数据时&#xff0c;要发送回车换行符。每接收一行数据&#xff0c;波形曲线就会画一个点。底下显示的波形不能放大或者缩小&#xff0c;只能简单的观看。
如果不知道当前串口号是多少时&#xff0c;可以在设备管理器里面查看。设置方法如下
在计算机上单击鼠标右键&#xff0c;选择管理。
打开计算机管理界面后&#xff0c;在左侧选择设备管理器&#xff0c;然后点右边 端口(COM和LPT&#xff09;这个选项前面的小三角形&#xff0c;展开的选项中就可以看到当前串口号。
如果想要更改串口号时&#xff0c;可以在串口号上面单击右键&#xff0c;选择属性。
在打开的属性窗口上&#xff0c;选择上面的端口设置选项&#xff0c;然后在点高级按钮。
这时就会打开串口设置选项。
然后点左下角端口号右边的下拉框
在下拉框中选择要更改的串口号&#xff0c;假如要将COM5改为COM1&#xff0c;就选择COM1&#xff0c;然后确定按钮。
这时候属性窗口就会变成COM1
点确定按钮。
这时串口号就会由COM5变为COM1。然后将波形显示软件右边配置区域的COM5改为COM1&#xff0c;然后点绿色运行按钮&#xff0c;这时就是通过串口1来接收数据了。