燃料电池发动机监控系统软件设计(5)

发布时间:2021-06-05

(3)通信软件设计。vc中进行串口通信通常有三种方法。一是利用microsoft公司提供的activex控件microsoft communications control。这种方法较简单,只需要对串口进行简单配置,但在数据量较大且高速传递时程序易挂起。二是直接采用windows api通信函数,同时利用多线程技术来提高程序的效率。这种方法通信过程稳定,适用于要求较高的通信环境,但使用较复杂。第三种方法是利用第三方提供或自己编写的通信类,只要理解这种类的几个成员函数就能方便的使用,且通信稳定。本程序采用第三种方法,使用了由remonspekreijse提供的多线程串口类cserialport,并在此基础上进行了一些改进,使之能用于本程序。

由于篇幅所限,本文只列出部分关键代码。

(1) 初始化程序段

//初始化com1

// m_serialport是cserialport类的对象,//在头文件中定义

if(m_serialport.initport(this,1,19200,`n`,8,2,ev_rxflag|ev_rxchar,1024))

{

m_serialport.startmonitoring();

//启动串口监视线程m_bserialportopened=true;

// m_bserialportopened为串口打开标志

}

(2) 串口通讯程序段

串口需要对下位机进行控制以及准确采集现场上传的实时参数,如温度、电流、电压、水位等,以便分析和改进整车性能,是通信程序设计的重点。其工作流程如图4所示.

精彩图片

热门精选

大家正在看