Matlab Simulink 串口通讯之float数据到字节数组(uint8)的相互转化

(1)数据类型与字节数组之间的相互转化

串口中直接传输的数据是字节数组ByteArray,也就是uint8型的数组。

一个float型的数据可由4个字节表示,double型的数据8个字节表示,等等每种类型的数据都有对应的字节数组表示。 

我们要实现的是将要传输的float型数据转化为对应的uint8数组,通过串口传输uint8数组。 将接收到的字节数组转化为对应的float型数据。

(2).m文件中的方法:使用MATLAB中的typecast方法

1.将字节数组转化为float型数据

MyByteArray = [1 2 3 4];
MyByteArray = uint8(MyByteArray);
MySingle = typecast(MyByteArray,'single');

2.将float型数据转化为对应的uint8数组,也就是字节数组。

MySingle=single(3.24);
MyByteArray=typecast(MySingle,'uint8');

(3)Simulink中的方法:使用Simulink->MATLAB Function模块,在Matlab Function 模块中调用typecast函数,下面的例子将四个float型的数据转化为字节数组,加上数据的开始位,通过串口通讯发送到COM3。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值