`
FindWG
  • 浏览: 7575 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

matlab串口实验

阅读更多

最近在基于一个单片机的通信系统,需要通过串口将数据传入传出。因此,就看了一些关于matlab串口通信的知识。下面是我的源代码(很简单)

发送:

g = serial('com2');%%%%%%%%%%%%%%%%open com2
g.Terminator = 'CR';
g.BaudRate = 19200;
g.InputBufferSize = 1024;
g.OutputBufferSize = 10240;
g.Timeout = 20;
%%g.RequestToSend ='on';


fopen(g);%%%%%%%%%%%%%%%%%%%%fopen one comm ports
for i=1:10240
    fwrite(g, recbuf(i), 'uint8');
    a =rem(i,16);
    if(a==0)
        pause(0.0005);
    end
end

fclose(g); % 关闭串口设备对象
delete(g); % 删除内存中的串口设备对象
clear g; % 清除工作空间中的串口设备对象

 接收:

%%读取串口数据,方式为:查询法。

g = serial('com2');%open com2
g.Terminator = 'LF';
g.BaudRate = 19200;
g.InputBufferSize = 10240;
g.OutputBufferSize = 10240;
recbuf=zeros(1,40);%清零接收缓冲区
rectr=0;%接收计数器清零
recnum=10240;

fopen(g);%open one comm ports

while rectr<recnum
    recdta=fread(g,1,'uint8');
    rectr=rectr+1;
    recbuf(rectr)=recdta;
end
fclose(g); % 关闭串口设备对象
delete(g); % 删除内存中的串口设备对象
clear g; % 清除工作空间中的串口设备对象

%%g.BytesAvailableFcnMode='byte';
%%g.BytesAvailableFcnCount=16;
%%g.BytesAvailableFcn=@my_callback;%接收数据后触发函数事件


%%delete(instrfindall)

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics