我的電腦上連接了一台掃描槍, 掃條碼的, 好像是什麽dragon什麽牌子的, 連接到電腦的COM1, 
廠商提供了一個應用程式, 測出該掃描槍的串口速率為9600, 廳偶校驗N, 數據位8, 停止位1, 
讀到的數據為:9789861258218[CR][LF]
然而, 我用VS的MSCOMM32.OCX通訊控件, 設置其Settings屬性為9600, n, 8, 1, 
卻不能觸發其ONCOMM事件, 設置成19200才行, 把讀到的數據存進byte數組中, 轉化為CHAR數組後, 
得到的卻是些不能顯示的字符.
本人百思不得其解, 特請教諸位大俠, 不知能否指點一二.
不勝感激...

解决方案 »

  1.   

    不能觸發其ONCOMM事件,   設置成19200才行??
    学习。
      

  2.   

    也可以先用WINDOW自带的超级终端调试一下,一般接收到的字符格式要转换一下才行
      

  3.   

    感謝以上兩位朋友.
    我用WINDOWS自帶的超級終端測了一下, 速率是9600時, 可以正確讀到數據...
    速率設置成19200, 讀出的就是問號...
    現在的問題是, 不知為何, 我在9600下用MSCOMM32.OCX控件偵測不到RS232端口的數據?
    然而在19200下就可以...
    不知為何?
      

  4.   

    本案已告終結...
    原因是我的axMSComm元件的屬性RThresHold的值設為了0, 結果屏蔽了ONCOMM()事件.
    所以導致以上困擾的發生...感謝諸位的解答...
    現在本人宣佈結貼..再次感謝...
    備註: 一個高手的帖子, 貢獻給大家參考..
    http://blog.cechinamag.com/gldsl/65074/message.aspx