c# SerialPort HEX there is no data received

虚幻大学 xuhss 260℃ 0评论

? 优质资源分享 ?

学习路线指引(点击解锁) 知识定位 人群定位
? Python实战微信订餐小程序 ? 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
?Python量化交易实战? 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

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模式无响应值的问题。

转载请注明:xuhss » c# SerialPort HEX there is no data received

喜欢 (0)

您必须 登录 才能发表评论!