大家好,我们是华芯极客队,报名编号是CICC3877,本次与各位老师和同学一起交流上位机程序的编写。
本文将讨论GPS/北斗定位模块作为接收机,将接收到的定位信息通过串口发送给计算机,再由计算机接收并解码获取相关信息。
在定位模块正确移植到DDR200T开发板的基础上,首先编写下位机程序。
下位机程序主要是完成串口设置和通过串口接收数据,用到的函数主要有以下几个:
1. gpio_iof_config(GPIOB,
uart_mask_tx|uart_mask_rx);
配置串口引脚。
2. uart_init(UART1,9600);
设置串口波特率。
3. text =
uart_read(UART1);
读取串口接收到的信息。
在使用上述几个函数时,要注意引入hbird_sdk_soc.h头文件。
接下来编写上位机程序,上位机程序主要完成接收和解码定位信息的功能,本文采用QT编写上位机程序,需要调用的函数或变量如下所示:
1. QSerialPortInfo::availablePorts()获取计算机所有的端口
2. bool
setBaudRate(qint32 baudRate, QSerialPort::Directions directions =
AllDirections)设置波特率
3. setStopBits(QSerialPort::StopBits
) : bool 设置停止位
4. setFlowControl(QSerialPort::FlowControl
) : bool设置流控制方式
5. setParity(QSerialPort::Parity
) : bool 设置奇偶校验位
6. QByteArray buffer =
serial.readAll();读取串口信息
在硬件连接正确,软件工作正常的情况下,定位模块将接收到的信息通过串口发送给DDR200T开发板,随后蜂鸟处理器将通过开发板上的串口将信息发送给计算机,计算机上的上位机程序将接收到的信息进行解码并显示出来,具体效果如下图所示。
小结
本文梳理了上位机程序编写的相关工作,若是理解不正确的地方请大家指正,共同学习,祝各参赛队取得理想的成绩。