Qt中串列埠傳送HEX資料

2021-07-05 06:55:05 字數 855 閱讀 5868

在lineedit輸入資料的型別是qstring型別,以往我在傳送的時候是ascii方式傳送,這會兒突然遇到乙個是十六進製制傳送/接受的下位機,就需要將qstring 轉化為十六進製制,本來直接用tohex進行轉化,但考慮到在輸入的的時候有間隔符之類的,我就寫了個轉化的函式;

以下是轉化單個字元的函式:

char

mainwindow::converthexfromchar(char

ch)

else

if((ch>='a')&&(ch<='f'))

else

if((ch>='a')&&(ch<='f'))

else

}
將lineedit中的資料挨個轉化傳送的完整程式如下,switch語句是我為了可以兼有可以傳送ascii設定的,看case 1部分即可; 

void

mainwindow::on_transmitpushbutton_clicked()

else

}

com->write(senddata);//write是乙個過載函式,參考qiodevice類

}break;

case

0:

break;

default:

break;
}
}

Qt模擬串列埠 tcp連線傳送資料

上一節已經基本上完成了qt介面的基本布局,下面就是後台資料的傳送和接收了,前面說了,qt和uc os 互動使用的方式是tcp 為啥要用tcp,而不使用別的呢,udp 按道理udp是最好的,不用連線,想發就發,不用管埠。但是,qt這個鬼,他封裝的udp函式不支援伺服器下發資料,也就是udp的伺服器不能...

串列埠傳送資料

s 串列埠程式設計 詳解4 串列埠傳送資料 串列埠傳送資料報括 十六進製制傳送資料 手動傳送資料 自動傳送資料 手動傳送資料的 如下 cpp view plain copy 手動傳送 long tx count 0 void cscommdlg onbuttonmanualsend else els...

串列埠向電腦傳送資料

串列埠向電腦傳送資料 include include delay.h 呼叫延時函式 void uartinit void 以上部分為使用燒錄軟體得來編碼 void uart init init 初始化 void uart sendbyte unsigned char byte void main 串...