【发布时间】:2012-09-26 07:52:09
【问题描述】:
我正在从 USART 接收字节并将它们放入内存寄存器。字节是我必须阅读并相应地回复消息的命令。我知道如何比较单个字节,建议我使用一种算法来比较多个字节。
例如,接收到的字节在 16 进制 16 04 32 01 00 32 中是这样的。它们的长度不同,因此比较会比较困难。
【问题讨论】:
-
循环比较?另外,what have you tried?
-
我不知道该采取什么方法。我有几个命令需要比较。我是否必须为每个命令创建循环,或者是否有更简单的表查找方法。我需要一些示例代码。我试图对命令中的字节求和,但这不起作用,因为我发现 2 个不同的命令具有相同的总和
-
我猜不是所有收到的消息都是重要的,但一两个字节是消息代码,其余的是数据。这将简化事情,因为您只需比较单个(或那两个)字节,然后跳转到子程序来处理实际的消息数据。
-
所以 Joachim,您建议将消息的数据部分与循环进行比较。所以我必须创建与我期望的消息一样多的循环并相应地跳转?
-
为您的逻辑绘制流程图。当看到它时,事情应该会变得很明显。