c# SerialPort HEX there is no data received
- 2022 年 7 月 11 日
- 筆記
- c#, HEX模式, SerialPort
C#窗口程式進行串口通訊,按照串口通訊協議,設置com口,波特率,停止位,校驗位,數據位,本地虛擬串口調試ok,但是和外設調試時,發送HEX模式數據命令,沒有數據返回,
所以關鍵問題在於HEX模式,發送命令格式也必須是HEX模式下,廢話不多說,上程式碼:
public byte[] HexStringToBytes(string hs) { string[] strArr = hs.Trim().Split(' '); byte[] b = new byte[strArr.Length]; //逐個字元變為16進位位元組數據 for (int i = 0; i < strArr.Length; i++) { b[i] = (byte)int.Parse(strArr[i], System.Globalization.NumberStyles.HexNumber); } //按照指定編碼將位元組數組變為字元串 return b; }
關鍵程式碼:
int.Parse(strArr[i], System.Globalization.NumberStyles.HexNumber);
之前無論如何也無法接收到數據,通過此段程式碼輕鬆解決HEX模式無響應值的問題。