matlab串口数据交互的使用

发布时间:2024年01月15日

一、matlab将串口数据读取并储存到position中

delete(instrfindall);%注销系统之前已经打开的串口资源
clear s %清空s的数据
s = serial('COM6','BaudRate',115200);%定义串口及波特率
fopen(s)%打开串口
fwrite(s,'00AB,')%向串口写入读取电机位置指令
for i=1:8 %共8个电机
 position(i,:)=fscanf(s,'%d,%f',[1,2])%读取串口数据,'%d,%f'表示读取格式为整型、浮点数,用逗号分隔开。[1,2]表示数据储存为1行2列
end
position%显示输出的值
fclose(s)%关闭串口

输出结果

二、几个指令

1.sprintf(forval,val)——数据转字符串

将数据格式化为字符串或字符向量。

 a=sprintf("%0.3f",123.456789)

显示结果为:

a =?

? ? "123.457"

2.vpa(val,num)——保留精度

设置数据的精度,保留多少位有效值

 a=vpa(12.456789,4)

显示结果:

a =
?
12.46

3.strcat(string1,string2)——字符串合并

此指令主要用于将计算出的电机转角,速度等与相应的功能码组合拼接

strcat("a","b","c")

显示结果

ans =?

? ? "abc"

文章来源:https://blog.csdn.net/doudou2weiwei/article/details/135357412
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。