求助:一个外行问题——如何便串口程序让具有特殊波特率设置的下位机接受命令。  有一个下位机的串口协议时特殊设置的,现在我们有这个下位机的的控制代码,但是使用常用波特率和其它参数设置,给下位机通信,下位机不认。
  请高手指点如何用vb 编程实现。
   
我得到的控制代码 就是10位的  8位数据位 停止和起始各1位 
  
  如何用vb实现, 波特率的 自动循环,让所编写串口通信软件,不断把代码以不通的波特率 发给下位机  ,最终能试出下位机 可能使用的的波特率?谢谢!!急!!

解决方案 »

  1.   

    Timer控件可以做到你要的循环.
    Option Explicit
        Public botelv As Long '标准模块全局变量
    '某应用窗体的Timer1_Timer,其变化的botelv可以不断地改变API中的所需波特率设置.
    Private Sub Form_Load()
        Timer1.Interval = 200
        'Timer1.Enabled = False
    End SubPrivate Sub Timer1_Timer()
        botelv = botelv + 10
        If botelv > 115200 Then
            Timer1.Enabled = False
        End If
    End Sub
      

  2.   

    代码是在我的资源中的API串口工程中修改的那些部分.
    Private Sub OpenCom_Click()
        Static btllng As Long
        Dim btl As String
        btllng = btllng + 100
        btl = btllng
        'Call Init_Com(List1, List2 & "," & List5 & "," & List3 & "," & List4)
        Call Init_Com("Com1:", btl & ",N,8,1")
        SwitchTags
        Timer1.Enabled = True
    End SubPrivate Sub Form_Load()
        'Text2 = ""
        Text3 = ""
        Timer1.Interval = 1
        CloseCom.Enabled = False
        Timer2.Interval = 200
    End SubPrivate Sub Timer2_Timer()
        Static flag As Boolean
        If flag Then
            OpenCom_Click
            Send_Click
        Else
            CloseCom_Click
        End If
        flag = Not flag
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        CloseCom_Click '退出时关闭串口
        Timer2.Enabled = False
        End
    End SubPrivate Sub Command2_Click() '新增按钮给TEXT2提供16进制指令
        Text2 = "1234" '可以按你实际修改
    End Sub
      

  3.   

    来晚了,只能UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP了