利用MSCOMM控件实现串行通信的关键是理解并正确设置MSCOMM控件众多属性和方法。以下是MSCOMM控件的常用属性和方法:
    Commport:设置或返回串口号。
    Settings:以字符串的形式设置或返回串口通信参数。
    Portopen:设置或返回串口状态。
    InputMode:设置或返回接收数据的类型。
    Inputlen:设置或返回一次从接收缓冲区中读取字节数。
    InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。
    InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。
    Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。
    OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。
    OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。
    Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。
    Rthreshold:该属性为一阀值。当接收缓冲区中字符数达到该值时,MSCOMM控件设置Commevent属性为ComEvReceive,并产生OnComm事件。用户可在OnComm事件处理程序中进行相应处理。若Rthreshold属性设置为0,则不产生OnComm事件。例如用户希望接收缓冲区中达到一个字符就接收一个字符,可将Rthreshold设置为1。这样接收缓冲区中接收到一个字符,就产生一次OnComm事件。
    Sthreshold:该属性亦为一阀值。当发送缓冲区中字符数小于该值时,MSCOMM控件设置Commevent属性为ComEvSend,并产生OnComm事件。若Sthreshold属性设置为0,则不产生OnComm事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生OnComm事件,其后就不再产生OnComm事件。例如Sthreshold设置为3,仅当发送缓冲区中字符数从3降为2时,MSCOMM控件设置Commevent属性为ComEvSend,同时产生OnComm事件,如发送缓冲区中字符始终为2,则不会再产生OnComm事件。这就避免了发送缓冲区中数据未发送完就反复发生OnComm事件。
    CommEvent:这是一个非常重要的属性。该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSCOMM控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。CommEvent属性的代码、常数及含义参见表3.1及表3.2。
表3.1 CommEvent通信事件
代码    常量    含义
1    ComEvReceive    接受到Rthreshold个字符。该事件将持续产生,直到用Input属性从接受缓冲区中读取并删除字符。
2    ComEvSend    发送缓冲区中数据少于Sthreshold个,说明串口已经发送了一些数据,程序可以用Output属性继续发送数据。
3    ComEvCTS    Clear To Send信号线状态发生变化。
4    ComEvDSR    Data Set Ready信号线状态从1变到0。
5    ComEvCD    Carrier Detect信号线状态发生变化。
6    ComEvRing    检测到振铃信号。
7    ComEvEOF    接受到文件结束符。
表3.2 CommEvent通信错误
代码    常量    含义
1001    ComEvntBreak    接受到一个中断信号。
1002    ComEvntCTSTO    Clear To Send信号超时。
上一篇:信号控制路网交通流动态分配研究
下一篇:AT89C51单片机铁路沿线风速雨量采集方法设计

PSpice的电容式加速度计闭环反馈控制模块设计

STM32激光雷达探测器高压电...

FPGA实现以太网MAC控制器数据发送模块

GSM-R系统下信号机的研究

FPGA实现以太网MAC控制器MAC控制模块

NRF24L01射频模块的ARM控制与通讯软件设计

Android手机电蚊香模块设计

PCI+PID算法直流力矩电机速...

提高小學语文課堂朗读教...

高效课堂教师问卷调查表

小型通用机器人控制系统设计任务书

浅析施工企业保理融资成...

MNL模型历史城区居民活动...

《水浒传》中血腥暴力研...

从企业eHR建设谈管理信息...

遥感土地用变化监测国内外研究现状

大规模MIMO系统的发展研究现状