上下位机都声明同一结构体,然后sizeof结构体的大小,一个个字节发送。上位机接收后用u8指针自加一个个字节填进这个结构体对象
虽然中间会有一些空白的字节白发送了,但能保证准确,不至于要加各种校验位
当然自己写结构体内部每个成员,利用通讯协议、校核发送也行,就要自己写协议
串口只能发送字节,或者说按字节发送
接收端也接收的是多个字节,然后按结构体组织进行处理就好,这点有点像强制格式转换。
接收器接收到一段连续的数据存储到一个连续的空间中,然后以结构体类型强制标识这个区域就可以按结构体去解读啦。
串口传送是一个一个字节数据,或作为二进制传输、或作为字符串发送。
串口传输模式并不考虑是否结构体发送,这些是你自己考虑的问题。
因此在发送时应当考虑将结构体数据转换为适当的发送数据。
接收方按照预先约定再将接收到的数据还原为规定格式。
这通常是串口发送和接收应考虑的基本原则。