【问题标题】:Modbus ASCII LRC Generation in CC语言中的Modbus ASCII LRC生成
【发布时间】:2021-12-16 11:11:18
【问题描述】:

我正在尝试通过串行端口实现 Modbus Ascii 从站,但无法理解 LRC 计算。 我将master发送的数据存储在uint_8数组中,不明白下一部分,从master发送的ascii字符是否需要在计算之前转换为它们的十六进制值? 如果使用十六进制字符进行计算,从 ascii char 转换为 hex 版本是什么样子的?

【问题讨论】:

  • 欢迎来到 StackOverflow!请拨打tour 并阅读“How to Ask”以了解本网站的运作方式。 - 您不需要将 ASCII 转换为十六进制,这只是对相同二进制值的解释。例如,ASCII 字符 'A' 具有二进制值 1000001 或十六进制 0x41。您可以简单地将 ASCII 值用作整数。

标签: c ascii modbus lrc


【解决方案1】:

关于 LRC 计算,请转到本文档的附录 B

https://modbus.org/docs/Modbus_over_serial_line_V1_01.pdf

Modbus ASCII 发送十六进制值的 ASCII 字符,LRC 字节作为两个 ASCII 字符发送也是如此。

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多