通过串口传输比特流
52视图(30天)
显示旧的评论
嗨,Matlab enthusiats,
我目前想发送数据(从matlab计算)通过计算机的串口板用小微控制器。串行通信的工作原理,但我第一次想把简单的数字从浮到定点数字单片机处理。转换到定点工作但我想matlab想要发送数据的精确变量写命令中收益率matlab解释数据,并将每一个位转换为数字给定精度的类型。
我的问题是有可能的方式直接传输比特流(砍8位包)通过串行端口?(我知道我可以运行char数组通过for循环和将其转换为一个整数数量和传输,但我想知道是否有一个更简单的解决方案)。
提前谢谢!
问候
便雅悯
PS:我的测试代码:
设备=串口(“COM5”,9600)
q =量化器(“固定”,“最近的”,“饱和”[8]16日);
写(设备,num2bin (q,π),“uint8”);
0评论
答案(2)
Shaik
2023年5月14日16:46
你好,
%打开串口
设备=串口(“COM5”,9600);
%将浮点数转换为定点
q =量化器(“固定”,“最近的”,“饱和”[8]16日);
fixedData = num2bin (q,π);
uint8 %转换为比特流
(fixedData binaryData =重塑。“1 []);
binaryData = binaryData -' 0 ';%转换字符' 0 ' / ' 1 '数字0/1
binaryData = uint8 (binaryData);
%传输比特流
写入文件(设备,binaryData);
%关闭串口
删除(设备);
清晰的设备;