一种基于C语言和LabVIEW的串口通讯程序的设计
2018-12-10李雪妍
李雪妍
(淄博职业学院,山东淄博 255314)
在工业控制与信息采集等领域,经常需要单片机和PC机的共同完成指定工作。PC机运算速度快、容量大,单片机控制能力强。很多工作需要单片机采集数据,PC机处理数据。所以单片机与PC机之间的数据通讯必不可少,多数情况是单片机向PC机传输数据。
本文设计的串口通讯程序包括下位机、上位机以及数据传输通道。软件设计中下位机以Keil uVision4作为开发平台,采用C语言对单片机进行编程,C语言在功能上、可读性、可维护性上优势明显,易学易用。上位机以LabVIEW作为开发平台,在工业和学术中LabVIEW是被应用最广泛的虚拟仪器开发平台。其编程简单,只需要通过交互式图形前面板进行系统控制和结果显示,再通过程序框图进行功能模块的组合和操作来制定各种功能。
1 串行通讯的实现方法
串口是计算机上一种通信协议,大多是计算机包含两个基于RS-232的串口。单片机与上位机一般用RS-232串口通讯,RS-232(ANSI/EIA-232)是IBM-PC及兼容机上的串行连接标准,是PC机与通信工业中应用最广泛的一种串行接口。其接口示意图如图1所示。
RS-232九芯接口共有9个接口。本设计只需连接三线:TXD、RXD和地线GND即可。TXD(pin 2):串口数据输出(Transmit Data);RXD(pin 3):串口数据输入(Receive Data);GND(pin 5):地线。

图1 RS-232九芯接口

图2 串口通讯流程图

图3 VISA配置串口函数模块

图4 VISA写入函数模块

图5 VISA读取函数模块

图6 VISA关闭函数模块

图7 数据通讯流程图
波特率是衡量计算机串口通信速度的指标,它表示每秒传送位的个数,其单位是b/s(位/秒),例如500波特率表示每秒发送500个bit;……
