rro*_*oss 0 c# binary hex ascii serial-port
我正在尝试通过串口与硬件设备连接.当我使用像Portmon这样的软件来查看它们看起来像这样的消息:
42 21 21 21 21 41 45 21 26 21 29 21 26 59 5F 41 30 21 2B 21 27
42 21 21 21 21 41 47 21 27 21 28 21 27 59 5D 41 32 21 2A 21 28
Run Code Online (Sandbox Code Playgroud)
当我通过hex到ascii转换器运行它们时,命令没有意义.这些消息实际上是不同于十六进制的吗?我希望看到设备传递的消息并使用c#模拟它们.我该怎么做才能准确找出消息是什么?
硬件设备是否指定了协议?仅仅因为它是串行端口连接,并不意味着它必须是ASCII /可读英文文本.它也可以只是一个字节序列,例如42是命令,21212121是该命令的数据.可能是初始化序列或其他什么.
在一天结束时,您所使用的只是一系列字节.它们的含义可以在协议规范中找到,或者如果没有协议规范,则需要手动查看每个命令.向设备发出命令,捕获输入,发出另一个命令.
寻找模式.共同初始化?可能是什么命令?什么数据传递?
是的,这很乏味,但逆向工程很难.
Hex的ASCII是这样的:
乙!!!! AE!&!)!&Y_A0!+!"
乙!!!! AG! '!(!' Y] A2!*!(
这对我来说看起来像某种协议,有一些初始化序列(B !!!!)和命令(AE和AG),但这只是猜测.