为了方便PC机同单片机(下位机)进行通信,需要开发一款基于串口协议的上位机辅助调试软件。软件不仅能够向下位机发送数据,发送指令进而控制下位机,而且还应该能准确接收下位机发来的数据,便于对下位机的一些传感器采集的信号进行分析。
首先,在考虑到单片机跟PC机通信的问题时,一般的解决方案是通过一根串口线,通过UART协议实现上位机和单片机的通信,但是这样只能进行一些数据的接收.比如在进行AD采集时,陀螺仪和加速度传感器的采集回来的信号不能很好的用上位机软件进行显示,必须先把数据存储到硬盘,再通过matlab实现数据的缩放,波形的显示分析。这样处理起来比较浪费时间。
其次,在完成前面一系列的硬件电路搭建,驱动编写,调试,以及后面的软件算法初步整定后,又遇到了新的问题。由于我们所在的组别需要实现两轮直立行走的可循迹的智能车,中间涉及到的参数比较多,调试起来很困难,最开始比较笨,也是比较常规的方法是每改动一遍程序,就重新烧录一次程序,这个过程相对起来时比较慢的。最后想到利用单片机的串口中断实现对智能车行进过程中的参数动态整定。
最后,通过无线串口实现上位机和单片机的通信。由于自己比较熟悉QT,于是就用QT开发了SerialPort这款串口调试工具。
(1)开发工具介绍