手记----labview和单片机串口通讯部分

        labview作为上位机来记录、显示、处理下位机传来的数据,并且也可以通过上位机给下位机(单片机)发送指令信号,控制电机的启停。

        labview和单片机的通讯协议是RS-232协议,但51开发板内部有MAX232芯片,MAX232芯片的作用是将单片机输出的TTL电平转换成PC机能接收的232电平或将PC机输出的232电平转换成单片机能接收的TTL电平。所以只需要一根数据线就可以实现通讯,当然这只是硬件,当然还需要软件来编程,才可以实现上下位机的通讯。

Labview程序

        labview的通讯程序是靠它的VISA函数来实现,具体如下,

VISA串口配置函数

在labview前面板->函数->仪器IO->串口->VISA配置串口,如图:

包括VISA写入、VISA读取、VISA关闭,这几个函数是通讯过程中常用到的几个函数,最后实现的通讯程序如下图:

从配置串口到写入串口,再到读取串口,再到关闭串口,实现串口的通讯,具体的流程是这样的:

配置串口开始,然后检测到通信测试(按钮)信号给出,进入条件结构,然后把"H"写入单片机,然后单片机检测到这个信号,发送出"OK"字符,与"OK"进行比较,如果相同,则条件为真,通讯成功,如果不相同,条件为假,通讯失败。

扫描二维码关注公众号,回复: 10377467 查看本文章

条件为假的状态下的那个通信状态是创建一个局部变量,选择通讯状态即可。

单片机给上位机发送信号,例如"H",这需要用keil软件进行下位机的程序编写,上图中的测试1、测试2、测试3,还有通信状态1、2、3都是一样的,我只是在3个地方用到了,所以创建了3个变量。

如果有问题欢迎请教。

发布了5 篇原创文章 · 获赞 4 · 访问量 165

猜你喜欢

转载自blog.csdn.net/ywanju/article/details/105065345
今日推荐