matlab串口实时波形显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作者:GG
功能:实现matalb与PC外设通讯
本例:串口232与外设单片机51通讯。实时监控51数据并且实时图形显示
时间:2011—9—16
简介:实现该功能使用M脚本文件和函数文件。
第一个文件连接串口和打开串口,设置了串口的一些参数和触发事件。连接串口COM5。有关该方面的知识请自行百度I/O文字流。
第二个文件是时间回调函数,相当于其他语言中例如C语言的中断函数
第三文件是关闭串口和清除列连接。并且清除中间TXT中介文件内容
下面是源文件
第一个:
clear all
s=serial('COM5');%打开串口
s.BytesAvailableFcnMode='byte';%设置事件触发为接受触发
s.InputBufferSize=5000;%设置接受缓冲区大小为5000个字节
s.BytesAvailableFcnCount=10;%每次接受到50个数据时候触发事件
s.BaudRate=19200;%设置通讯波特率
s.BytesAvailableFcn=@my_callback;%指向触发事件函数
fopen(s);%打开串口
第二个
function my_callback(obj,event)
out=fread(obj,10,'uint8');%串口处读出50个数据
fid=fopen('G1.txt','a+');%打开文件并且追加
fprintf(fid,'%3d',out);
fclose(fid);
speed=textread('G1.txt','%u');
plot(speed);
disp('save ok!');
end
第三个
fclose(s);%关闭串口
delete(s);%删除串口变量
clear all;
fid=fopen('G1.txt','w');%清除中间文件txt
a=[];
fprintf(fid,'%s',a);
fclose(fid);
clear all;%清除所以变量