Matlab串口通讯控制直流电机



Matlab通过串口通讯控制两个直流电机正转反转

% ReadUsbSerial
% 2018年1月29日% v1
% 2018年1月30日% v2 删除了fscanf(Obj1);太耗时间了。
clc;clear
delete(instrfindall)
TimeOut=1;
% Find a serial port object.
Obj1 = instrfind('Type', 'serial', 'Port','COM11','Timeout',TimeOut, 'Tag', '');
% Create the serial port object if it does not exist
% otherwise use the object that was found.
if isempty(Obj1)
    Obj1 = serial('COM11','Timeout',TimeOut);
else
    fclose(Obj1);
    Obj1 = Obj1(1);
end
% Connect to instrument object, obj1.
fopen(Obj1);% Obj1
% Communicating with instrument object, obj1.

NumTime=5;
TXY=2*(rand(2,NumTime)-0.5)*1e3;%-10000到10000毫秒
TXY=round(TXY);%整数
DirectionPN=['N','P'];
set(Obj1,'timeout',10)
for NN=1:NumTime
    pause(0.01)
    TX=TXY(1,NN);
    TY=TXY(2,NN);
    TXStr=[DirectionPN(double(TX>=0)+1),'X',num2str(abs(TX))];
    TYStr=[DirectionPN(double(TY>=0)+1),'Y',num2str(abs(TY))];
    fprintf(Obj1, TYStr);%TY转动
    pause(abs(TY*1E-3)+0.5)
    TYStr
    pause(0.01)
    fprintf(Obj1, TXStr);%TX转动
    pause(abs(TX*1E-3)+0.5)
    TXStr
end
fclose(Obj1)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值