matlab实时接收uart数据画图.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab实时接收uart数据画图

comPortInstrcallback.m文件内容 functioncomPortInstrcallback(obj,event) %数据包协议解析部分 globalRecordBuffer,ReacordValid=0; DataByteLen=17000;%中断缓存字节长度 ValidWaveLen=1000;%波形数据的长度 RecordLen=17; %uartDataBuf=zeros(1,DataByteLen,uint8); %x =zeros(2,3,int8); uartCurDataBuf=fread(obj,DataByteLen,uint8); WaveDataBuf=zeros(1,ValidWaveLen,uint32); %接收的数据不够一包数据的 if(ReacordValid0) tempBuf=zero(1,ReacordValid,uint8); fori=1:ReacordValid tempBuf(i)=RecordBuffer(i); end uartDataBuf=[tempBuf;uartCurDataBuf];%组合数组 else uartDataBuf=[uartCurDataBuf]; end j=1; k=0; fori=1:DataByteLen if(uartDataBuf(i) ==255uartDataBuf(i+1)==255) %查找包头 if(DataByteLen-i=(RecordLen-1) ) WaveDataBuf(j)=65536*uartDataBuf(i+2)+256*uartDataBuf(i+3)+uartDataBuf(i+4); j=j+1; else fork=1:(DataByteLen-i) RecordBuffer(k)=uartDataBuf(i+k); end break; end end end if(k0) ReacordValid=k; else ReacordValid=0; end plot(WaveDataBuf,r),gridon; Instrcallback.m文件修改的内容 instrcallback.m原路径在x:\Program Files\MATLAB\R2008a\toolbox\matlab\iofun\@instrument 需要在原路径中更改文件,复制到程序目录是不能使用的 functioninstrcallback(obj,event) comPortInstrcallback(obj,event);%添加的代码 %INSTRCALLBACKDisplayeventinformationfortheevent. % % INSTRCALLBACK(OBJ, EVENT) displaysamessage whichcontainsthe % typeoftheevent,thetime oftheeventandthename ofthe % objectwhichcausedtheeventtooccur. % % If anerrorevent occurs,theerror message isalsodisplayed. % If apinevent occurs,thepinthatchangedvalueandthepin % valueisalsodisplayed. % % INSTRCALLBACK isanexamplecallbackfunction.Usethiscallback % functionasatemplateforwritingyourowncallbackfunction. % % Example: % s=serial(COM1); % set(s,OutputEmptyFcn, {instrcallback}); % fopen(s); % fprintf(s, *IDN?, async); % idn=fscanf(s); % fclose(s); % delete(s); % % MP2-24-00 %

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档