这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 串口数据接收方式(定时器轮循法)

共1条 1/1 1 跳转至

串口数据接收方式(定时器轮循法)

助工
2014-10-07 14:30:08     打赏
 对于数据包方式收发数据以及不需即时响应情况,用轮循法更好些。实际上轮循法最大的好处在于集中处理数据而且不太占用CPU。轮循法要注意定时采集的时间片段大小;这里用二进制收发模式;使属性RThreshold、SThreshold为0,屏蔽ONCOMM事件。

InputMode = comInputModeBinary
RThreshold = 0
SThreshold = 0

Private Sub TmrComm_Timer()
'采用轮循法采集数据 
    Dim Rx_buff() As Byte
    Dim okstring As String
    Dim ReceivedLen As Integer

    On Error GoTo ErrorHandler
    TmrComm.Enabled = False '关闭定时器
    If commport.InBufferCount > 0 Then
          ReceivedLen = commport.InBufferCount
          Rx_buff = commport.Input
          okstring = StrConv(tempbyte, vbUnicode)
          If ReceivedLen = 6 Then 
          If Chr(tempbyte(0)) = ":" And tempbyte(3) = &h0a Then
               ....
           End If
           If Instr(okstring ,"END*",vbBinaryCompare) Then
                ....
           End If 
     End If
     TmrComm.Enabled = True '打开定时器
End Sub 

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]