labwindows cvi串口采集数据与实时显示

本文介绍了如何在LabWindows CVI环境下进行串口数据采集,并实现数据的实时显示。通过OpenComConfig函数打开串口,设置无硬件握手模式,清空缓冲区,然后安装接收事件回调函数Event_Char_Func。在回调函数中,读取串口数据并用PlotStripChart函数更新曲线图,实现数据的实时更新。最后,在主函数中关闭串口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. main()函数里初始化串口,函数的使用方法参考帮助手册即可
	OpenComConfig (7, "", 115200, 0, 8, 1, 512, 512);  //打开串口
	SetCTSMode (7, LWRS_HWHANDSHAKE_OFF);             //无硬件交互  
	FlushInQ (7);                                     //清空缓冲区
	FlushOutQ (7);
	//PromptPopup ("Event Charter", "Enter the Enevnt Character", gEventChar, 1); 
	InstallComCallback (7, LWRS_RECEIVE, 2, 0, Event_Char_Func, 0);    //绑定串口事件回调函数
	
	DisplayPanel (panelHandle);  
	RunUserInterface ();
	CloseCom(7);                            //软件关闭时关闭串口
	DiscardPanel (panelHandle);
	return 0;
2.  串口回调函数
void CVICALLBACK   Event_Char_Func(int portNo,int eventMask,void * callbackData)
{
               
	char strBuf[20]={0};
	float dataBuf[200]={0.0} ;
	float InputVoltageMv;
	int  InjectedConvData= 0;
	unsigned int strLen=GetInQLen(7);  //获取串口接收的数据缓冲区长度
	ComRd(7, readBuf, strLen);  //读取指定长度数据		
	PlotStripChart (panelHandle, PANEL_VOLTAGE_GRAPH,   readBuf, strLen, 0, 0, VAL_FLOAT);   //把数据在曲线图上从左至右实时更新

}


论文摘要 近年来,随着虚拟仪器技术、网络通讯技术的显著进步以及Intemet的迅速 普及,将网络技术应用到虚拟仪器,使信号采集、传输和处理分析一体化,已 成为一种趋势。这一方面可以使许多昂贵的硬件资源得以共享,另一方面还便 于系统的扩展和效率的提高。它通过应用程序各功能化模块的有机结合,用 户利用友好的图形界面来控制计算机,完成对仪器控制、数据采集、分析、存 储及显示等功能。 本文针对数据采集监控系统的开发需求,设计并实现了一种基于虚拟仪 器平台的数据采集监控系统。系统采用的是一个虚拟仪器的构造形式,由数 据采集卡、工业控制计算机和信号调理电路构成硬件系统。系统软件开发平台 为LabWindow托VI,应用软件完成数据采集、处理、存储和显示等功能。 论文的主要研究工作如下: (1)根据数据采集监控系统的功能需求,提出了系统软件的总体设计方 案,并对虚拟仪器的体系结构和软件开发两方面进行了深入的研究; (2)设计并实现了数据采集和处理模块。利用基于线程池的多线程技术和 基于线程安全队列的数据保护机制,改善数据吞吐量,提高程序响应速度和更 有效的后台数据处理; (3)设计并实现了通信模块。制定串口通信协议,确保数据传输的可靠性 和高速率,有效解决了数据传输远程监控的问题; (4)设计并实现了数据库模块。实现了详细数据查询、报警信息查询、数 据报表管理、交接班管理、用户登录权限管理等功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值