将字符串和十六进制发送到comport

时间:2011-05-22 15:50:28

标签: string serial-port hex

我正在尝试将字符串“QZ1”发送到comport;但接收单元的手册要求“发送到接收器的每个命令字符串必须以{*}(十六进制2A)开头,并以回车{cr}(十六进制0D)终止。”我经历了许多不同的迭代而没有成功。

有人会在写入方向上引导我如何最好地将字符串发送到使用{*}(十六进制2A)并以回车符{cr}(十六进制0D)结束的字符串前面的comport?

2 个答案:

答案 0 :(得分:2)

是的,它可能会混淆从字符切换到十六进制表示和返回。这是做什么的。不要担心该文档说“hex this and hex that”。刚

  1. 发送字符'*'
  2. 发送字符'Q'
  3. 发送字符'V'
  4. 发送回车符号'\ r'
  5. 所以你要存储在C字符串中:“* QV \ r \ n”并从中发送。

    HTH。如果没有,请再询问一下。

答案 1 :(得分:0)

因为我可以让你只需要为发送的字符串hello添加2个字节就会更改为*hello\r注意2A是ascii字符的十六进制*和\ r的0D表示在charmap