我正在致力於嵌入式設備的通信設備類(CDC)驅動程序,實現USB 2.0的全速。 COM端口設置爲115200,8位,無奇偶校驗,1個停止位,無流量控制。我們的PC應用程序(32位,Windows 7,.NET 2.0)通過虛擬COM端口與目標設備進行通信,目標設備上的虛擬COM端口可以連接到FTDI(USB-SCI橋接)芯片或集成USB外設在微控制器中,取決於應用程序選擇哪個端口。虛擬COM通信問題
這兩個虛擬COM端口在使用Realterm時都沒有任何問題。但是,儘管我們的桌面應用程序使用通過FTDI芯片連接的虛擬COM端口,但在嘗試使用通過微控制器的集成USB外設連接的虛擬COM時,它會掛起。
當通過使用集成USB的虛擬COM端口連接時,應用程序在第二次調用SerialPort.Write(...)
時始終掛起。使用Serial Monitor from HHD Software我可以看到數據在第一次調用時發送到SerialPort.Write(...)
。但是,目標設備永遠不會收到該數據。
這很奇怪,因爲我在以前的項目中看到類似問題的唯一原因是總線每一側的流量控制設置不匹配。
附加信息...
這是在運行我們通過集成的USB外圍設備連接到目標設備的PC應用程序從不同的端口監控工具捕獲的數據。任何洞察力將不勝感激。
- Sysinternals Portmon
- Advanced USB Port Monitor
- Device Monitoring Studio - Request View
- Device Monitoring Studio - Packet View
對於那些有興趣,我使用的CodeWarrior 10.2與MCF51JM128飛思卡爾。
任何想法或建議,將不勝感激。謝謝。
您是否試圖追蹤Realterm的行爲?必須有差異應該表明解決方案。 – jeb 2013-03-03 08:54:09
@jeb我該怎麼做?它是Realterm的特色之一嗎?我承認我只熟悉其一小部分功能。 – 2013-03-03 19:07:18
不,但是像sysinternals/microsoft的[portmon](http://technet.microsoft.com/de-de/sysinternals/bb896644.aspx)這樣的工具可以顯示一個端口的所有動作,打開/關閉以及讀/寫而對於像Realterms和你自己的其他程序 – jeb 2013-03-03 21:46:32