問題背景:
我用MFC寫了一個串口接收程式,主要是用電腦接收GPS的資訊。GPS接兩塊不同的串口轉USB板子(一塊是FT232轉的一塊是PL2303轉的)測驗,結果發現用FT232的板子資料接收都正常,但是用PL2303的板子就接收不了資料。
但是,如果用串口助手來模擬的話,兩個板子都能正常通信。
我用的是MSComm控制元件,在呼叫get_Input()時,PL2303的板子無法讀取快取。單步除錯,發現運行到oledisp2.cpp里面的InvokeHelperV函式時,里面的sc計算會不一樣。具體的函式在這里面。
void COleDispatchDriver::InvokeHelperV(DISPID dwDispID, WORD wFlags,
VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, va_list argList)
SCODE sc = m_lpDispatch->Invoke(dwDispID, IID_NULL, 0, wFlags,
&dispparams, pvarResult, &excepInfo, &nArgErr);
uj5u.com熱心網友回復:
控制元件注冊是否正常?埠是否打開?
通信引數設定是否正常?
關聯埠事件是否正常?
是否正確判斷資料接收事件?
http://blog.csdn.net/hkwlg1314/article/details/48250457
uj5u.com熱心網友回復:
懷疑一切,打擊一切。小心駛得萬年船。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/81964.html
