单片机发送到串口的是十六进制,用labview从串口读取的数据是什么格式的呢,是字符串吗?
答案:3 悬赏:60 手机版
解决时间 2021-01-03 10:53
- 提问者网友:泪痣哥哥
- 2021-01-02 19:47
我用单片机测量温度,从单片机发送到串口的是十六进制(如F2),用labview从串口读取的数据是什么格式的呢,是字符串吗?还是直接是F2 ? 急
最佳答案
- 五星知识达人网友:迟山
- 2021-01-02 21:26
如果发送的十六进制,可直接读出十六进制的数
全部回答
- 1楼网友:往事埋风中
- 2021-01-02 23:37
1.概述
在现代测控系统中,我们经常会采用上位机和下位机的开发控制模式。下位机主要是用来采集数据,可以通过嵌入式控制器、单片机控制器、plc等来实现。上位机主要是图形界面,用来实时显示采集数据,并进行数据分析及处理,同时可以控制下位机。上位机的实现可以通过各种高级语言,比如vb、delphi等以及ni公司的图形化虚拟仪器软件开发环境labview.由于labview采用的是图形化的编程方法,所以无论你是否有过编程经验,都可以快速、高效地设计用户界面,实现与控制硬件的通信,并进行数据分析和处理。如今labview已经渗透到工业测量的各个领域,与此同时在嵌入式、fpga、dsp、实时控制等领域也发挥着巨大的作用。
2.本实例实现的功能
首先利用单片机stc89c54通过串口发送“你好,labview”,labview将单片机发送到数据进行显示。通过这个实例来了解labview的串口通信设计。
3.下位机硬件设计与软件设计
(1)硬件设计
单片机串口通信硬件电路设计比较简单,主要包括单片机stc89c54最小系统以及max232和九针串口。
(2)软件设计
设计源码如下:
#include
#define uchar unsigned char
#define uint unsigned int
void sendstr(unsigned char *s);//发送
字符串
void delayms(uint xms)//延时子函数
{
uint i,j;
for(i=xms;i>0;i-)
for(j=110;j>0;j-);
}
void inituart(void) //串口初始化
{
scon=0×50; //scon:模式
1,8-bituart,使能接收
tmod|=0×20; //tmod:timer 1,mode
2,8-bit重装
th1=0xfd; // th1:重装值9600波
特率 晶振11.0592mhz
tr1=1; //tr1:timer 1打开
ea=1; //打开总中断
}
void main(void)
{
inituart();
while(1)
{
sendstr(“你好!labview!”);
delayms(240);
delayms(240);
}
}
void sendbyte(unsigned char dat)
{
sbuf=dat;
while(!ti);
ti=0;
}
void sendstr(unsigned char *s)
{
while(*s!='\0‘)//\0表示字符串结束
标志,//通过检测是否字符串末尾
{
sendbyte(*s);
s++;
}
4.上位机labview前面板与程序框图
(1)相关函数介绍
在做labview串口通信的时候首先要安装visa驱动,驱动可以从网上下载。labview对串口的操作主要是读操作和写操作。本实例主要是接受数据,也就是读操作,在这里首先介绍一下与此实例相关控件和函数。
①visa资源名称
在“新式”控件选项卡下“i/o”子选项卡下有“visa资源名称”控件。安装好visa驱动后,与硬件连接好后,该控件下可以列出相应的com口,可以选择合适的com口。
②visa配置串口函数
该函数位于函数选项卡下的“仪器i/o”
子选项卡下,主要用来对串口进行参数配置,包括波特率、数据比特、奇偶校验等。
③visa读取和visa关闭函数
visa读取函数的功能是从visa资源名称所指定的设备或接口中读取指定数量的字节,并将数据返回至读取缓冲区。visa关闭函数的功能是关闭visa资源名称指定的设备会话句柄或事件对象。
(2)程序框图设计
程序框图设计如图1所示。
5.测试
将硬件连接好后,上电,下载程序,运行labview,我们可以看到在读取缓冲区里接收到了单片机发送来的字符串“你好!lavview”.如图2所示。
6.总结
利用labview进行上位机设计,其界面美观,实现起来较容易,可以很方便的运用于各种测量监控系统中。
- 2楼网友:低音帝王
- 2021-01-02 22:55
读取的,在十六进制显示先 是F2。记得在字符串显示控件上,右键→十六进制显示。正常显示下,会觉得是乱码。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯