C# 发送16进制串口数据
2015-08-19 13:58
417 查看
[b]一个困扰两天的问题:[/b]
需要通过串口向设备发送的数据:0A010 7e 08 00 11 00 00 7e 76 7f
我先将每个16进制字符转换成10进制,再将其转换成ASCII码对应的字符。
字符转换成16进制字节
要发送的数据“0A010 7e 08 00 22 00 01 01 74 f4 7f”
首先将0A010转换成16进制的ASCII码即30 41 30 31 00
然后将30 41 30 31 00 7e 08 00 22 00 01 01 74 f4 7f 通过HexStringToBytes方法转换成字节发送。
我考,终于搞定了!!!
需要通过串口向设备发送的数据:0A010 7e 08 00 11 00 00 7e 76 7f
我先将每个16进制字符转换成10进制,再将其转换成ASCII码对应的字符。
//在串口通讯过程中,经常要用到 16进制与字符串、字节数组之间的转换 public static 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] = Convert.ToByte(strArr[i], 16); } //按照指定编码将字节数组变为字符串 return b; }
字符转换成16进制字节
要发送的数据“0A010 7e 08 00 22 00 01 01 74 f4 7f”
首先将0A010转换成16进制的ASCII码即30 41 30 31 00
然后将30 41 30 31 00 7e 08 00 22 00 01 01 74 f4 7f 通过HexStringToBytes方法转换成字节发送。
我考,终于搞定了!!!
相关文章推荐
- 编写高质量代码改善C#程序的157个建议——建议72:在线程同步中使用信号量
- C#调用默认浏览器打开网页的几种方法
- 编写高质量代码改善C#程序的157个建议——建议71:区分异步和多线程应用场景
- C#实现简易的加密、解密字符串工具类实例
- c#调用Excel绘制图表
- C# 调用window api大全
- Sublime Text 2 插件安装和Vim 模式设置写C#
- gsoap调用C#开发的WebService
- C#调用Web Service时的身份验证
- C#播放声音
- C# 测试PDF是否能打开 .
- 关于对象实例序列化加密解密并写入文件的技巧
- C#启动另外一个C#程序,并传递参数
- c# 查询 插入 access db 2007
- c#索引器
- C#精髓 第四讲 GridView 72般绝技
- 【C#】窗体动画效果
- C#多态性详解
- C# interface学习经验浅谈
- C#-JudgeSystem判题系统-安装和熟悉C#开发环境