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)%关闭串口
输出结果
将数据格式化为字符串或字符向量。
a=sprintf("%0.3f",123.456789)
显示结果为:
a =?
? ? "123.457"
设置数据的精度,保留多少位有效值
a=vpa(12.456789,4)
显示结果:
a =
?
12.46
此指令主要用于将计算出的电机转角,速度等与相应的功能码组合拼接
strcat("a","b","c")
显示结果
ans =?
? ? "abc"