帮助解码这个UART串行信号
逆向工程
串行通讯
2021-07-11 15:12:26
1个回答
每个 UART 数据包都包含一个始终为 0 的起始位和 1 或 2 个始终为 1 的停止位。如果您检查跟踪的中间,则有单个 1 位,它们之间有一些空格。每个位都是停止位,在每个停止位之后,一个新的起始位开始。这些是数据包的边界。如果您绘制一些宽度相同的矩形,您可以将图片分成12 个 UART 包。
现在我们的工作很简单,我们只需要找出每个数据包中的值。根据我的测量,消息是:0x5F 0xAC 0x11 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x32。
关于通信设置,如果您测量单个停止位的持续时间,您可以通过 f = 1/t 公式计算波特率是多少。很难从这张低分辨率图片中弄清楚,但如果我假设 14.02 毫秒的时间增量是数据包的总长度,并且我们有 12*(1+8+1) = 120 位,那么单个位的持续时间是 116.83我们,所以波特率为 8559 波特。最接近的有效 UART 波特率为 9600 波特,所以我认为它应该是正确的值。
我认为波特率为9600baud(应该用工具测量),有1个起始位,1个停止位,没有奇偶校验,包数据长度为8位。
其它你可能感兴趣的问题

