你可以打开DCD的波特率枚举值处看看,是否包含对应的后两个设置

解决方案 »

  1.   

    这是执行GetCommState(m_hComm, &m_dcb)时调试窗口的值,
    - m_dcb {DCBlength=28 BaudRate=115200 fBinary=1 ...} _DCB
    DCBlength 28 unsigned long
    BaudRate 115200 unsigned long
    fBinary 1 unsigned long
    fParity 0 unsigned long
    fOutxCtsFlow 0 unsigned long
    fOutxDsrFlow 0 unsigned long
    fDtrControl 1 unsigned long
    fDsrSensitivity 0 unsigned long
    fTXContinueOnXoff 0 unsigned long
    fOutX 0 unsigned long
    fInX 0 unsigned long
    fErrorChar 0 unsigned long
    fNull 0 unsigned long
    fRtsControl 1 unsigned long
    fAbortOnError 0 unsigned long
    fDummy2 0 unsigned long
    wReserved 0 unsigned short
    XonLim 2048 unsigned short
    XoffLim 512 unsigned short
    ByteSize 8 '' unsigned char
    Parity 0 unsigned char
    StopBits 0 unsigned char
    XonChar 17 '' char
    XoffChar 19 '' char
    ErrorChar 0 char
    EofChar 0 char
    EvtChar 113 'q' char
    wReserved1 0 unsigned short
    这是执行SetCommState(m_hComm, &m_dcb)时调试窗口的值,
    + &m_dcb 0x0013fed0 {DCBlength=28 BaudRate=250000 fBinary=1 ...} _DCB *
    databits 8 unsigned int
    - m_dcb {DCBlength=28 BaudRate=250000 fBinary=1 ...} _DCB
    DCBlength 28 unsigned long
    BaudRate 250000 unsigned long
    fBinary 1 unsigned long
    fParity 0 unsigned long
    fOutxCtsFlow 0 unsigned long
    fOutxDsrFlow 0 unsigned long
    fDtrControl 1 unsigned long
    fDsrSensitivity 0 unsigned long
    fTXContinueOnXoff 0 unsigned long
    fOutX 0 unsigned long
    fInX 0 unsigned long
    fErrorChar 0 unsigned long
    fNull 0 unsigned long
    fRtsControl 1 unsigned long
    fAbortOnError 0 unsigned long
    fDummy2 0 unsigned long
    wReserved 0 unsigned short
    XonLim 2048 unsigned short
    XoffLim 512 unsigned short
    ByteSize 8 '' unsigned char
    Parity 0 unsigned char
    StopBits 0 unsigned char
    XonChar 17 '' char
    XoffChar 19 '' char
    ErrorChar 0 char
    EofChar 0 char
    EvtChar 113 'q' char
    wReserved1 0 unsigned short只有波特率发生了变化,还是报错
      

  2.   

    查MSDN看DCB里的波特率是不是有超过115200以上的参数,就象1楼说的,另外,原先的计算机也不支持超过115200的波特率,虽然USB转232支持
      

  3.   

    这是我在《winbase.h》中看到,希望能帮到你:
    //
    // Baud rates at which the communication device operates
    //
    #define CBR_110             110
    #define CBR_300             300
    #define CBR_600             600
    #define CBR_1200            1200
    #define CBR_2400            2400
    #define CBR_4800            4800
    #define CBR_9600            9600
    #define CBR_14400           14400
    #define CBR_19200           19200
    #define CBR_38400           38400
    #define CBR_56000           56000
    #define CBR_57600           57600
    #define CBR_115200          115200
    #define CBR_128000          128000
    #define CBR_256000          256000