【问题标题】:Serial Measurement Data RS232 interpretation串行测量数据 RS232 解释
【发布时间】:2018-04-18 22:55:54
【问题描述】:

我试图在不使用随附软件的情况下从超声波测厚仪获取读数,但我无法解释来自测试仪的测量读数。

以下是测试仪发送的十六进制值,以及软件中显示的相应十进制值。

 3A 30 62 30 30 44 39 37 30 30 65 36 0D 0A       1.51
 3A 30 62 30 30 44 66 61 30 30 34 39 0D 0A       2.50
 3A 30 62 30 30 44 37 62 30 31 63 62 0D 0A       3.79
 3A 30 62 30 30 44 38 32 30 31 64 32 0D 0A       3.86
 3A 30 62 30 30 44 63 37 30 31 31 37 0D 0A       4.55
 3A 30 62 30 30 44 39 34 30 62 65 65 0D 0A      29.64
 3A 30 62 30 30 44 39 63 30 62 66 36 0D 0A      29.72
 3A 30 62 30 30 44 63 61 30 62 32 34 0D 0A      30.18
 3A 30 62 30 30 44 65 64 30 62 34 37 0D 0A      30.53
 3A 30 62 30 30 44 38 65 33 65 31 62 0D 0A     160.14
 3A 30 62 30 30 44 64 66 33 65 36 63 0D 0A     160.95

非常感谢任何有关我如何从十六进制值到十进制值的帮助。

ASCII 等价物(我省略了每行末尾的 CR 和 LF):

 :0b00D9700e6     1.51
 :0b00Dfa0049     2.50
 :0b00D7b01cb     3.79
 :0b00D8201d2     3.86
 :0b00Dc70117     4.55
 :0b00D940bee    29.64
 :0b00D9c0bf6    29.72
 :0b00Dca0b24    30.18
 :0b00Ded0b47    30.53
 :0b00D8e3e1b   160.14
 :0b00Ddf3e6c   160.95

【问题讨论】:

  • 请发布您的代码。我假设您使用的是 Arduino?
  • 目前还没有代码 - 只是观察测厚仪和它附带的程序之间的通信(超声波测厚仪的 DATAVIEW ----V2.2)。不使用 Arduino,只需连接到 PC 的厚度测试仪。
  • 我尝试过这些数字格式,但没有任何运气:单点浮点数、双点浮点数和帕斯卡 6 字节实数浮点数
  • 数据明显是ASCII码。将数据显示为 ASCII 字符,而不是十六进制数字。
  • 用 ASCII 码更新问题

标签: serial-port byte measurement


【解决方案1】:

终于想通了:

数据为:0b00D后的两个字节,LSB在前,乘以100。

    ASCII        Hex    Decimal
 :0b00D9700e6    0097     1.51
 :0b00Dfa0049    00fa     2.50
 :0b00D7b01cb    017b     3.79
 :0b00D8201d2    0182     3.86
 :0b00Dc70117    01c7     4.55
 :0b00D940bee    0b94    29.64
 :0b00D9c0bf6    0b9c    29.72
 :0b00Dca0b24    0bca    30.18
 :0b00Ded0b47    0bed    30.53
 :0b00D8e3e1b    3e8e   160.14
 :0b00Ddf3e6c    3edf   160.95

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2012-12-19
    • 2012-01-15
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 2019-06-22
    相关资源
    最近更新 更多