matlab串口数据交互的使用

一、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)%关闭串口

输出结果

matlab串口数据交互的使用_第1张图片

二、几个指令

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"

你可能感兴趣的:(matlab,Arduino,matlab,开发语言)