计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于VB的串口通讯及其软件实现-通信工程毕业论(3)

2013-07-29 01:07
导读:sio_open:打开端口;sio_close: 关闭端口。 sio_ioctl:设置端口参数,如波特率等。 sio_read:从端口接收数据;sio_write向端口发送数据。 sio_iqueue:得到接收缓冲区中的数

  sio_open:打开端口;sio_close: 关闭端口。
  sio_ioctl:设置端口参数,如波特率等。
  sio_read:从端口接收数据;sio_write向端口发送数据。
  sio_iqueue:得到接收缓冲区中的数据长度。
  sio_oqueue:得到发送缓冲区中的数据长度。
  Pcomm在串口通信中的功能十分强大,但基于篇幅的考虑,在此不便赘述,读者可参考相关书籍或Pcomm自带的帮助文档。
  
  4串口通讯的错误及处理
  
  由于外界干扰或电压波动等原因,串口通讯可能会出现错误,如接受缓冲区溢出,奇偶校验错误等。为了处理这些错误,在Mscomm控件中就提供了一个OnComm事件,它可以捕获通信时发生的串口事件和错误信息,自动转入事件处理程序。在OnComm事件中,CommEvent属性是OnComm事件的指示,下面简单介绍几个重要的CommEvent属性值。
  ComEventBreak:表示收到一个中断信号;
  ComEventFrame:表示硬件检测到一个数据帧错误;
  ComEvenRxover:表示接收缓冲区溢出;
  ComEventTxFull:表示输出缓冲区已满;
  ComEvReceive:表示接手到了Rthreshold个字符;
  ComEvEOF:表示接受到了EOF字符(ASCII字符26)。
  编程时用SelectCase语句,根据不同的CommEvent属性值,去执行不同的处理程序。
  除了以上所述的通讯错误外,在串口通信时,如果数据传输突然中断,对串口的读写操作可能会进入无限期的等待状态, 为避免这种情况发生, 必须设置串口读写操作的等待时间, 等待超时后,串口的读写操作将被主动放弃,这样即使数据传输突然中断程序也不会被挂起或阻塞。可以根据具体要求规定串口读写操作的最长时间值,即串口读写必须在这段时间内完成,否则提示串口操作失败。
  
  5串口通讯实例 大学排名
  
  本实例是一个采集设备电流及功率的通讯程序,采集仪为横河WT230数字功率计,因为要采集的数据量不大,且工程结构简单,故采用Mscomm控件的形式进行串口读写操作。
  具体实现步骤如下:
  (1) 在窗体Form上添加两个重要的控件:Timer1和Mscomm1;
  (2) 在程序的Form_Load事件过程中添加如下代码:
  MSComm1.CommPort=1 ‘使用COM1端口
  MSComm1.Setting=“9600,o,8,1” ‘设置通信口参数,注意是奇校验,具体的校验方式要视具体的仪器而定
  MSComm1.InputMode=comInputModeBinary ‘设置接收模式为二进制形式,注意一般对于数据采集这类设备通信,都应该设置为二进制形式
  MSComm1.PortOpen=True ‘参数设置好后打开端口
  MSComm1.HandShaking=2-comRTS ‘设置为硬件流控制,可以有效避免数据丢失的情况发生
  (3) 程序开始后在一定情况设置Timer1.Enabled属性值为True 激活Timer1_Time事件,可以在固定的时间间隔下执行Timer1_Timer过程中的代码程序,完成数据采集。在Timer1_Timer过程中添加如下代码:
  MSComm1.Output = "COMMUNICATE:WAIT 1" + Chr(13) + Chr(10)
  MSComm1.Output = "MEASURE:NORMAL:VALUE?" + Chr(13) + Chr(10)
上一篇:加强民航通信网建设的几点思考-通信工程毕业论 下一篇:山西移动GPRS核心网络发展浅析-通信工程毕业论文