菜单
  

    (3) 打开与关闭串口
    在创建一个SerialPort 对象,设置串口属性后,可以通过 Open()方法打开串口。数据读写完成后,可以通过Close()方法关闭串口。根据经验,对于有些系统,在打开
    串口后,还需要将RtsEnable设置为True,这样才能读写数据,否则不能正常读写数据。
    本程序中,打开串口的相关程序在SearchPort函数中,当搜索本机可用串口时,便会打开串口。打开串口的程序语句为:
         If SerialPortStatus = False Then
             Try                          
                 SerialPort1.Open()
                 Threading.Thread.Sleep(500)
                 Dim Version As String = ""
                 Version = SerialPort1.ReadExisting()
                 If InStr(Version, "JB5000") > 0 Then
                     SerialPortStatus = True
                     Return True
                 Else
                     SerialPort1.Close()
                     Return False
                 End If
              Catch ex As Exception
                 ToolStripButton1.Enabled = False
                 ToolStripButton3.Enabled = True
                 Return False
              End Try
          Else
              Try
                  SerialPort1.PortName = ComName
                  SerialPort1.Open()
                  Return False
               Catch ex As Exception
                  Return False
               End Try
         End If
    同样,关闭串口的程序如下:
         Private Sub ClosePort()
             SerialPort1.Close()
     End Sub
    (4) 利用DataReceived事件进行数据接收
    SerialPort提供了DataReceived事件。当有数据进入时,该事件被触发。该事件的触发由操作系统决定,当有数据到达时,该事件在辅助线程中被触发。辅助线程的优先级比较低,因此并不能确保每个字节的数据到达时,该事件都被触发。在使用该事件接收数据时,最好对定义通讯协议格式,添加桢头和桢尾。在DataReceived事件中接收数据时,把数据放在数组中或字符串中缓冲起来,当接收的包含桢头和桢尾的完整数据时,再进行处理。
        本程序在DataReceived事件的通用过程中用到了If...Then...End If语句。如果软件正在运行且布尔型变量SerialPortStatus的值是True,即本机存在可用串口,那么就会用Try...Catch语句,Try语句里面用到了ReadTo方法,串口会一直读取数据,直到输入缓冲区中的"F"为止。F为数据包或指令包的包尾。然后赋值给字符型数组ReceiveBuff。在异步调用的函数的参数里面,会调用CallbackShow通用过程。这个CallbackShow通用过程里面用到了两个If...Then...End If语句。第一个If...Then...End If语句,如果软件正在运行,那么调用通用过程WriteToFile。通用过程WriteToFile主要实现了将数据写入文件的功能,后面将会具体提到。第二个If...Then...End If语句,如果字符型数组ReceiveBuff的长度大于0,那么调用JudgeTaskMode函数。JudgeTaskMode函数里面有关于数据接收的具体形式,是根据协议里面的指令包和数据包对接收到的数据做出具体的反应。
  1. 上一篇:双谱图像配准技术研究+powell算法
  2. 下一篇:基于DSP的雷达恒虚警检测技术研究
  1. FHA和PHA的交叉验证技术在...

  2. HFSS法拉第笼对频率选择表面性能的影响

  3. 小波分析用于图像增强的研究MATLAB仿真

  4. 灰色建模技术的通信运行指标预测

  5. 基于多指标决策的通信网...

  6. Verilog的汉明码(15,11)编解码器的设计与仿真

  7. AT89C51单片机IIC总线的监控...

  8. 现代简约美式风格在室内家装中的运用

  9. 浅析中国古代宗法制度

  10. 中国传统元素在游戏角色...

  11. 江苏省某高中学生体质现状的调查研究

  12. 高警觉工作人群的元情绪...

  13. 上市公司股权结构对经营绩效的影响研究

  14. g-C3N4光催化剂的制备和光催化性能研究

  15. C++最短路径算法研究和程序设计

  16. NFC协议物理层的软件实现+文献综述

  17. 巴金《激流三部曲》高觉新的悲剧命运

  

About

优尔论文网手机版...

主页:http://www.youerw.com

关闭返回