MATLAB读取BWT901BLECL5.0

这个太简单了,使用BWT901CL的MATLAB程序改了一下参数。

代码

clear all;
close all;
clc;
instrreset;
disp('Press Ctrl+C to stop collecting data!')
s=serial('com4','baudrate',115200);
fopen(s) ;%Open Com Port   请将COM19换成电脑识别到的COM口,波特率115000换成传感器对应的波特率
f = 10;%DataFrequce
t=0;
cnt = 1;
aa=[0 0 0];
ww=[0 0 0];
AA = [0 0 0];
tt = 0;
a=[0 0 0]';
w=[0 0 0]';
A=[0 0 0]';
while(1)Head = fread(s,2,'uint8');if (Head(1)~=uint8(85))continue;end   Head(2)switch(Head(2))case 97 a = fread(s,3,'int16')/32768*16 ; w = fread(s,3,'int16')/32768*2000 ;    A = fread(s,3,'int16')/32768*180;aa=[aa;a'];ww = [ww;w'];AA = [AA;A'];tt = [tt;t];if (cnt>(f/5)) %Plot in low frequce, subplot(3,1,1);plot(tt,aa);title(['Acceleration = ' num2str(a') 'm2/s']);ylabel('m2/s');subplot(3,1,2);plot(tt,ww);title(['Gyro = ' num2str(w') '°/s']);ylabel('°/s');subplot(3,1,3);plot(tt,AA);title(['Angle = ' num2str(A') '°']);ylabel('°');              cnt=0;drawnow;if (size(aa,1)>5*f)%clear history dataaa = aa(f:5*f,:);ww = ww(f:5*f,:);AA = AA(f:5*f,:);tt = tt(f:5*f,:);endendcnt=cnt+1;t=t+0.01;end
end
fclose(s);

想读磁场(0x71磁场包),但是这个传感器磁场只能发送读寄存器代码读取,发一次读一次。加速度、角速度、速度组成一个0x61包,自动发送。我的代码,运行时做不到数据同步,有时0x61包连续有3个,0x71包才一个,导致不能绘图。分析维特上位机原始输出,发现他们是每读12个0x61包,才读一个0x71包。以下是我的错误代码:

clear all;
close all;
clc;
instrreset;
disp('Press Ctrl+C to stop collecting data!')
s=serial('com4','baudrate',115200);
fopen(s) ;%Open Com Port   请将COM19换成电脑识别到的COM口,波特率115000换成传感器对应的波特率
f = 10;%DataFrequce
t=0;
cnt = 1;
aa=[0 0 0];
ww=[0 0 0];
AA = [0 0 0];
MAG = [0 0 0];
tt = 0;
a=[0 0 0]';
w=[0 0 0]';
A=[0 0 0]';
mag =[0 0 0]';
bin=[255 170 39 58 0];
while(1)fwrite(s,bin,'uint8');Head = fread(s,2,'uint8');if (Head(1)~=uint8(85))continue;end   Head(2)switch(Head(2))case 97a = fread(s,3,'int16')/32768*16 ; w = fread(s,3,'int16')/32768*2000 ;    A = fread(s,3,'int16')/32768*180;    case 113dir = fread(s,1,'int16');mag = fread(s,3,'int16');aa=[aa;a'];ww = [ww;w'];AA = [AA;A'];MAG = [MAG;mag'];tt = [tt;t];if (cnt>(f/5)) %Plot in low frequce, subplot(4,1,1);plot(tt,aa);title(['Acceleration = ' num2str(a') 'm2/s']);ylabel('m2/s');subplot(4,1,2);plot(tt,ww);title(['Gyro = ' num2str(w') '°/s']);ylabel('°/s');subplot(4,1,3);plot(tt,AA);title(['Angle = ' num2str(A') '°']);ylabel('°');%subplot(4,1,4);plot(tt,MAG);title(['Magnetometer = ' num2str(mag') 'mg']);ylabel('mg');cnt=0;drawnow;if (size(aa,1)>5*f)%clear history dataaa = aa(f:5*f,:);ww = ww(f:5*f,:);AA = AA(f:5*f,:);MAG = MAG(f:5*f,:);tt = tt(f:5*f,:);endendcnt=cnt+1;t=t+0.01;end
end
fclose(s);

MATLAB读取BWT901BLECL5.0相关推荐

  1. matlab读取/播放视频的函数(2)

    1.用matlab读取avi 视频(只能读一定压缩各式的avi 电影,这是因为avi视频文件的编码 有很多,而matlab只支持部分编码格式.可见 http://blog.csdn.net/IdoIw ...

  2. matlab提excel文字,matlab读取excel文字

    数据导入| 将excel数据导入matlab_计算机软件及应用_IT/计算机_专业资料.将 excel 数据导入 matlab 一. 将 excel 文本放在 matlab 的 work 文件夹里面. ...

  3. Matlab读取点云数据显示

    求matlab读取三维点云数据的程序. clear         A=importdata('data.txt');         [IX,IY]=size(A);         x=A(:,1 ...

  4. matlab读取txt数据绘图(python命令行传参)

    (1)命令行实现高斯分布 一:综述 Python唯一支持的参数传递方式是『共享传参』(call by sharing)多数面向对象语言都采用这一模式,包括Ruby.Smalltalk和Java(Jav ...

  5. matlab 多个波段,MatLab读取ENVI图像统计多波段图像信息

    在ENVI统计遥感多波段图像中每个波段的均值.方差.最大值.最小值是比较容易办到的,但是如果要处理多批的数据就没有那么方便了,这里转载一个MatLab读取ENVI图像(img+hdr)的程序,并且计算 ...

  6. matlab 读取照片imread,利用matlab读取图像

    怎样用matlab读取20张图片并依次展示出来 指定路径下 单个文件夹data中所有图像 P = '.\data\';% 图像文件夹路径 img_path_list = dir(strcat(P,'* ...

  7. matlab将txt数据分类,MATLAB读取txt文件,txt里面有字符串和数值两种类型

    MATLAB读取txt文件,txt里面有字符串和数值两种类型 mip版  关注:96  答案:4  悬赏:30 解决时间 2021-01-29 08:48 已解决 2021-01-28 15:04 M ...

  8. 美赛整理之Matlab读取全球海洋温度数据并显示干货

    Matlab读取全球海洋温度数据并显示干货 Matlab读取全球海洋温度数据并显示干货 Matlab读取全球海洋温度数据并显示干货 一.nc文件的读取 二.画出从1981到2000年的全球温度海洋变化 ...

  9. Matlab读取二进制数据文件

    第一步:函数fopen打开文件 fid=fopen('文件名',读取方式) fid:句柄值 小于0表示打开失败:大于0表示打开成功 文件名:字符串,使用单引号(本文例子'savedata.dat') ...

最新文章

  1. MYSQL连接一段时间不操作后出现异常的解决方案
  2. Lumen开发:Lumen的异常处理机制
  3. QFileDialog::getOpenFileName
  4. 广东高中生多少人_“广东人参”五指毛桃根的功效与作用,有多少人真的清楚...
  5. 剑指-从尾到头打印链表
  6. leetcode279. 完全平方数
  7. Java:对Java SE 6和Java SE 7的客户端和桌面部分的改进!
  8. java连接mongodb的jar包_Java实战之管家婆记账系统(1)——项目简述
  9. ducker桌面版更改安装位置_Ubuntu 16.04 安装 Docker和默认存储路径修改
  10. 千万级大表如何更快速的创建索引_分享一份生产环境mysql数据库大表归档方案,值得收藏...
  11. 阿里宜搭助力服务中枢升级,提升10倍开发效率
  12. 【转】MyBatis缓存机制
  13. Python实现中英文分词
  14. Python argv小结
  15. matlab信号与系统论文,基于MATLAB的《信号与系统》课程教学研究
  16. ID3、C4.5决策树算法的Python实现(注释详细)
  17. 计算机保研面试-英语问题
  18. 找不到服务器或dsn错误,win7浏览网页提示“找不到服务器或DNS错误”原因及解决方法...
  19. 地理信息系统软件学习:利用Arcgis创建掩膜并根据掩膜裁剪地图
  20. python 文件夹拷贝

热门文章

  1. 知道魔术的秘密很了不起吗?
  2. 基于GIS计算降雨侵蚀力R因子
  3. 语言模型 实现 下一单词预测(next-word prediction)
  4. [转]logXX对所有的X0成立
  5. OpenWrt 获取 WAN口 IPv4的IP 两种方式
  6. 魅族mx3升级到android6.0,魅族MX3升级基于安卓4.4的Flyme3.6.1A体验版流程教程介绍
  7. 计算机绘图需要素描基础吗,学建筑设计一定要有绘画基础吗 学画画需要从什么基础开始?...
  8. 如何查找Excel文件所在的完整路径
  9. 海天味业股票可以长期投资吗
  10. ui设计师工作业绩描述_设计师的新职位描述:提高网站速度