2012-11-12 32 views
0

我正在使用VS2008 SerialPort V2.0.0.0。絕對沒有來回的溝通。SerialPort的RS232通信問題:DataRecieved事件沒有觸發(VS2008)

我知道代碼的工作原理是因爲同一個應用程序在不同的客戶機上運行。 我知道串行到USB電纜的驅動程序的工作原理,因爲我在vb6 mscomm應用程序上設置它,並且我可以獲得通信。 我知道我正在設置電纜右,空調制解調器和一切,因爲我在vb6應用程序中獲得通信。 我認爲這是一個Windows 7的問題,所以我安裝我的應用程序在XP上,仍然無法正常工作。

有什麼我失蹤了嗎?運行SerialPort v2.0.0.0需要某個Service Pack組件嗎?我應該嘗試VS 2010,它會有所作爲嗎?

感謝

+0

你看過你的代碼,看看你是否抑制了一個會告訴你發生了什麼的錯誤? – jac

+0

我在datarecieved事件上放置了一個斷點。它並沒有開火,似乎從來沒有達到這一點。 – user1818789

+0

初始化和打開端口的代碼如何? – jac

回答

0

您已標記這是VB6,但看來你是用vb.net

如果你正在使用VB6:什麼是MSComm控件的屬性?

確保RThreshold和設置Sthreshold屬性都爲0

0

我不使用vb​​.net,但在C#中我使用的SerialPort控制的DataReceived事件檢索如下:

private void comKAR_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) 
    //process incoming RS232 data 
    { 
     byte[] bytArray; 
     int intCount; 
     intCount = comKAR.BytesToRead; 
     bytArray = new byte[intCount]; 
     comKAR.Read(bytArray,0,intCount); 
     ShowData(bytArray); 
     ShowTraffic(bytArray,1); 
    } 

屬性串口控件的默認屬性與放置在表單上時的默認屬性沒有區別