请教各位大虾:如何实现串口通讯,带奇偶效验,以方式二进制收发。谢谢

解决方案 »

  1.   

    mscomm控件的属性可以设置的,在收发的时候注意以二进制方式,不要以文本就可以了
      

  2.   

    到底是奇校验还是偶校验?mscomm.settings = "9600, E, 8, 1"  '波特率,偶校验,数据位,停止位
    mscomm.inputmode = comInputModeBinary '1
      

  3.   

    呵呵,偶现在也在作这个。偶现在正在作一个单片机串口升级程序。
    这是我以前发的帖子中间有人回的帖子,偶做了适当修改,给你吧~
    我现在已经ok了,有问题的话,或许我可以帮你~
    ’这是我工程中的一个例子,你的问题一定能实现
    '初始化
    MSComm1.CommPort = PortNo                   '采用COM端口
        MSComm1.Settings = "9600,e,8,1"          波特率,偶校验,数据位,停止位
        MSComm1.InputMode = comInputModeBinary      '采用二进制传输
        MSComm1.NullDiscard = False                 'NULL字符从端口传送到接受缓冲区
        MSComm1.DTREnable = False                   'DTR线无效
        MSComm1.EOFEnable = False                   '不寻找EOF符
        MSComm1.RTSEnable = False                   'RTS线无效
        MSComm1.InBufferCount = 0                   '清空接受缓冲区
        MSComm1.OutBufferCount = 0                  '清空传输缓冲区
        MSComm1.SThreshold = 1                      '如果传输缓冲区完全空时产生MSComm事件
        MSComm1.RThreshold = 0                      '不产生MSComm事件
        MSComm1.InBufferSize = 1024
        MSComm1.PortOpen = True                     '打开端口
       要奇校验的话,上面
        mscomm.settings = "9600, e, 8, 1"  '波特率,偶校验,数据位,停止位
        改为
        mscomm.settings = "9600, o, 8, 1"  '波特率,奇校验,数据位,停止位
    而且,这些你可以在程序中间加些控件来改变的。
      

  4.   

    呵呵,偶现在也在作这个。偶现在正在作一个单片机串口升级程序。
    这是我以前发的帖子中间有人回的帖子,偶做了适当修改,给你吧~
    我现在已经ok了,有问题的话,或许我可以帮你~
    ’这是我工程中的一个例子,你的问题一定能实现
    '初始化
    MSComm1.CommPort = PortNo                   '采用COM端口
        MSComm1.Settings = "9600,e,8,1"          波特率,偶校验,数据位,停止位
        MSComm1.InputMode = comInputModeBinary      '采用二进制传输请问:设置了MSComm1.Settings = "9600,e,8,1"  计算机是否自动帮你校验!?通过控件接收的八位一组的一系列数据是否都是已经校验过的数据,程序员不必再对数据校验了?!