matlab 在simulink中将3 uint8的矢量转换为uint32

wsxa1bj1  于 2023-06-06  发布在  Matlab
关注(0)|答案(1)|浏览(397)

我有一个3个元素的向量,所有类型uint8需要转换为uint32,我努力找到正确的块来做到这一点,我试图解包信号,但然后产生了输入宽度大小的问题,因为它只输出3个信号。有没有人知道simulink中有没有这样的区块
编辑:数据打包器块接受uint32作为输入,然后输出3个uint8元素的向量。我试图将其转换回一个uint32输出,但我无法使用字节解包来实现这一点,因为向量的大小不兼容。
我给了数据解包,信号选择器和数据转换所有去,他们都输出错误的信号大小。因为它们输出3个信号而不是1个uint32信号

m1m5dgzv

m1m5dgzv1#

一种解决方案是将uint32数据解压缩为double,然后根据它们的值将结果分成三个数字。例如,一个6位数的数字,如123456。12、34和56可以转换为uint8,以便作为三字节包发送。另一方面,在接收器中,它们需要合并以形成原始数字。发送部分如下。接收器相反。

相关问题