我需要从服务器接收一些带有参数的结构。该服务器是stm32控制器。在stm32端,我将struct转换为字节并将其放置在寄存器中。在计算机方面,我将从所有寄存器中读取字节并将其转换为结构。
有可能吗?什么是真正的方式而不是这种方式?
例如:
struct MachineParameters
{
int acceleration;
int distance;
int moment[30];
int values[30];
}
您使用串行还是TCP Modbus?取决于此,您可能需要串行Modbus驱动程序或基于套接字的Modbus方法。这两个软件包都带有一些协议字节开销,这都取决于软件包-同样,这取决于您使用的驱动程序。为了在Modbus连接的两侧使用相同的标头,请使结构“打包”。否则,数据包长度可能在两侧都不同。只要您使用int,这都不成问题,但是一旦使用了char或short,您可能会得到打包字节。