使用一stm32单片机1发送一个数据包给stm32单片机2,怎么确认输入到stm32单片机2的数据包是命令还是数据

使用一stm32单片机1发送一个数据包给stm32单片机2,怎么确认输入到stm32单片机2的数据包是命令还是数据

通信之前需要先定义好两者通信的报文格式,然后在报文格式中定义一个字段来表示当前报文是命令还是数据。
比如可以定义下面的报文格式:
报文发送机器地址--报文接收机器地址--报文长度--报文类型--报文数据部分
并且,定义好每个字段的长度,比如报文发送机器地址和报文接收机器地址分别占8个字节,报文长度占4个字节,报文类型占1个字节,报文数据部分不定长(数据部分长度=报文长度-8-8-4-1)(报文数据部分通常被称为报文头)
这样每次发送的时候,按照上面的格式组成报文,这样,报文接收机器收到报文后,读取出报文类型处的字节,通过这个字节来判断当前报文是指令还是数据。

解析是一定要解析的,类似帧头,功能帧和数据帧分开,否则给人都分不清楚机器怎么分