matlab串口采集数据
来源:互联网 发布:成女脸型数据 编辑:程序博客网 时间:2024/06/05 06:28
底层stm32利用下面格式发送数据
sprintf(uartdata,"%2.4f",adcdata);UARTprintf(uartdata);UARTprintf("=");
matlab利用如下程序接收数据
参考http://blog.sina.com.cn/s/blog_6163bdeb0102e8qc.html
OpenSerial.m
%在matlab命令框中如下输入命令打开串口com2%scom =OpenSerial('com2', @ReadFcn_Com2);%输入如下命令发送数据%WriteSerial(scom, 'Hello!');%在如下函数中更改数据处理方式%ReadFcn_Com2.m%输入如下命令关闭串口%CloseSerial(scom);%打开串口 function scom = OpenSerial(sname, HReadFcn) scom = serial(sname); scom.BaudRate = 9600;scom.BytesAvailableFcnMode = 'terminator'; scom.Terminator = '='; scom.BytesAvailableFcn = HReadFcn; try fopen(scom); catch err fprintf('%s打开失败。\n', sname); end fprintf('%s成功打开。\n', sname); end
WriteSerial.m
% 写串口function WriteSerial(scom, str)fprintf(scom, str ,'async'); % 异步方式end
ReadFcn_Com2.m
% 读串口回调函数function ReadFcn_Com2(obj, ~)n = get(obj, 'BytesAvailable');if n>6a = fread(obj, n, 'uchar');c = char(a(end-5:end-1));x = num2double(c);fprintf('%f\n', x);endend
CloseSerial.m
% 关闭串口 function CloseSerial(scom) try fclose(scom); catch err fprintf('%s关闭失败。', scom.Name); return end delete(scom); end
需要注意的是,当stm32发送数据过快时,接收缓冲区会有过多数据,本文中只使用了n>6的判断,当数据长度变化的时候会有问题。所以stm32最好指定好数据的长度。
matlab默认的结束符是两个字节{LF,LF},前一个字节是读取结束符,第二个字节是发送结束符。stm32可以通过UARTprintf(“%f\n”,x);来发送数据,这样matlab就不用更改结束符
\r = CR (Carriage Return) // Used as a new line character in Mac OS before X
\n = LF (Line Feed) // Used as a new line character in Unix/Mac OS X
\r\n = CR + LF // Used as a new line character in Windows
https://cn.mathworks.com/help/matlab/matlab_external/terminator.html
0 0
- matlab串口采集数据
- Matlab---串口操作---数据采集篇
- matlab之串口数据采集绘图
- 通过MATLAB对从串口采集上来的一组数据进行频谱分析
- Matlab接收串口数据
- Matlab接收串口数据
- Matlab 串口 数据滤波
- 用VB进行串口实时数据采集
- vb.net 串口数据采集类
- Delphi实现远程串口的数据采集
- c#串口温度数据的波形采集
- c#串口温度数据的波形采集
- c#串口通信之adc数据采集
- 远程串口应用在实验数据采集
- SICK LMS511 利用串口数据采集
- C-V测试仪中上位机串口采集数据采集
- matlab处理采集的声音数据
- matlab读取串口数据并显示曲线
- HDU 1863 畅通工程(最小生成树)
- RactiveJS-10 Partial + Animation +SVG
- 设计模式之工厂模式
- 软件设计的三个阶段及快速构建原型
- android进程通信IPC机制之Binder详解
- matlab串口采集数据
- hdu3791--二叉搜索树
- memset
- 杭电oj(java版)——1090 A+B for Input-Output Practice (II)
- Android Apk重签名教程
- C语言复习笔记 8
- Java同步工具类——闭锁
- 重定位的理解
- 整理一下当年的学习笔记之:ajax请求json和普通项