小弟用linux里的write函式給下位機發送資料代碼如下
string s_command = "$CFGMSG,4,0,1";
char* command = new char[s_command.length() + 1];
for(int i = 0;i < s_command.length();i++)
{
command[i] = s_command[i];
}
command[s_command.length()] = '\0';
int n = write(fd,command,s_command.length() + 1);
cout << "n:" << n << endl;
s_command這個字串是我要發送到下位機的命令,將他存入command這個動態陣列中,然后將這個命令用write函式寫入fd的設備中,回傳值n是正常的,但是下位機好像沒有反應,不知道要怎么弄?有大哥指導下么?
uj5u.com熱心網友回復:
串口引數是否一致?用另一個串口 + 串口除錯助手看看 是否正常?
uj5u.com熱心網友回復:
pc端能夠正常的接收到板子的資料,但是用write函式寫資料不成功uj5u.com熱心網友回復:
pc端能夠正常的接收到板子的資料,但是用write函式寫資料不成功
uj5u.com熱心網友回復:
樓主你解決了嗎?我也出現類似的問題了,windows下使用串口助手除錯沒有問題,但是在LINUX下會存在問題的。寫的資料下位機接收不到,我懷疑這個資料直接發送給下位機的,不是一個位元組的那種。不過我不知道怎么解決了uj5u.com熱心網友回復:
先量一量介面信號吧,分段除錯轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/98645.html
標籤:單片機/工控
