none
c#中如何使用SerialPort发送十六进制的数据 RRS feed

  • 问题

  • 比如我把一组at指令转换为十六进制后为:41542B434D47533D223133353831363430313730220D4142431A
    我要将它通过串口发出去,串口必须在内部是把它当做一个at指令进行执行而不是一个普通字符串,
    应该怎么做呢
    2010年3月1日 11:16

答案

  • 你好!
         发送的时候转换成16进制的字符串,接受的时候按16进制来解析就可以了:
         int i=Convert.ToInt32("xxxxx",16);
    周雪峰
    • 已标记为答案 enilu 2010年3月5日 0:17
    2010年3月2日 1:33
    版主

全部回复

  • 比如我将字符 AT回车 (回车“\r”)转换为字符串: 41540d 我如何用serialport才能将这个41540d 正常发送出去,并会返回: AT OK
    2010年3月1日 11:49
  • 发现网上有些串口测试工具,有个十六进制复选框,勾选上以后,直接可以将十六进制的字符串发送出去,他们这是如何实现的
    2010年3月1日 12:11
  • 你好!
         发送的时候转换成16进制的字符串,接受的时候按16进制来解析就可以了:
         int i=Convert.ToInt32("xxxxx",16);
    周雪峰
    • 已标记为答案 enilu 2010年3月5日 0:17
    2010年3月2日 1:33
    版主
  • 问题解决了因为用的cdma的模块,只是把发送的信息内容使用BigEndianUnicode转换成byte数组向串口中发送即可。之前一直使用unicode转。谢谢周的回复
    2010年3月5日 0:17