單片機向上位機發信號,用串口除錯工具可以正常發送,用com控制元件的時候失敗了,除錯到m_ctrlComm.GetInput();這個地方執行失敗直接跳出了,網上看到好多網友都遇到這樣的問題,但是都沒解決方法,請知道的大神指點下
if(m_ctrlComm.GetCommEvent()==2) //事件值為2表示接識訓沖區內有字符
{ ////////以下你可以根據自己的通信協議加入處理代碼
variant_inp=m_ctrlComm.GetInput(); //讀緩沖區
safearray_inp=variant_inp; //VARIANT型變數轉換為ColeSafeArray型變數
len=safearray_inp.GetOneDimSize(); //得到有效資料長度
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);//轉換為BYTE型陣列
for(k=0;k<len;k++) //將陣列轉換為Cstring型變數
{
BYTE bt=*(char*)(rxdata+k); //字符型
strtemp.Format("%c",bt); //將字符送入臨時變數strtemp存放
m_strRXData+=strtemp; //加入接收編輯框對應字串
}
}
uj5u.com熱心網友回復:
我也遇到這個問題,請問樓主解決了嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/128122.html
標籤:單片機/工控
