Matlab接收串口数据
来源:互联网 发布:淘宝卖人参 编辑:程序博客网 时间:2024/05/16 19:04
Matlab接收串口助手发送的txt文档数据,保存为以当前时间命名的txt文档。
调试过程中主要遇到几个问题,
1.保存为txt的文件名如何自动创建
最终选择了获取系统当前时间格式为xxxx-xx-xx-xx-xx-xx的“clock”
2.读串口函数选择fread还是fscanf的问题;
fread是读数据,fscanf是读字符,因为我是选择用另外一台电脑通过串口调试助手发送txt文档里面的内容,所以到matalb里面格式为字符;
于是选择fscanf。
fread和fscanf都可以读设备和读文件,所以这里选择读设备,也就是之前顶一个的串口对象;
3.回调函数的问题;
回调函数计数我选择了byte模式,系统默认一个字符计数一次,所以如果发送一个“12306”的值会计数5次;
同理串口缓存区和计数也要注意一下。
程序清单
%% 作者:陈国栋 2015年2月14日%% 主要参照网络中对Matlab关于串口的帮助的中文翻译;%% 初始化串口。clearclcSerial_obj=serial('COM1');Serial_obj.BaudRate=9600;Serial_obj.DataBits=8;Serial_obj.Parity='none';Serial_obj.StopBits=1;% Serial_obj.Terminator=0;Serial_obj.InputBufferSize=1024;% Serial_obj.timeout=20;%% 创建txt文档。ch=clock;ch_1=int2str(ch(1));ch_2=int2str(ch(2));ch_3=int2str(ch(3));ch_4=int2str(ch(4));ch_5=int2str(ch(5));ch_6=int2str(ch(6));ch_7='.txt';FileName=[ch_1,'-',ch_2,'-',ch_3,'-',ch_4,'-',ch_5,'-',ch_6,ch_7];FileID=fopen(FileName,'a+');%% 触发回调函数。% Serial_obj.BytesAvailableFcnCount=256; % Serial_obj.BytesAvailableFcnMode='byte';% Serial_obj.BytesAvailable=@serial_cbk;%% 打开串口,读写串口内容。fopen(Serial_obj);Temp_1 = fscanf(Serial_obj,'%d',256); % Read data from device, and format as text% Temp_1 = fscanf(FileID,'%d',256); % Read data from text file% Temp_1 = fread(Serial_obj,256,'uint'); % Read binary data from device% Temp_1 = fread(FileID,256,'uint8'); % Read data from binary file%% 曲线显示。Temp_2=Temp_1';plot(Temp_2);%% 保存数据到txt。fprintf(FileID,'%d',Temp_2); % Write data to text file% fprintf(Serial_obj,'%d',Temp_2); % Write text to device % fwrite(FileID,temp_2,'uint8'); % Write data to binary file% fwrite(Serial_obj,Temp_2,'uint8'); % Write binary data to device %% 关闭串口,清理缓存区fclose(Serial_obj);delete(Serial_obj);clear Serial_obj%%
0 0
- Matlab接收串口数据
- Matlab接收串口数据
- MATLAB利用串口接收数据,并实时显示图形
- 串口接收数据c#
- 串口接收数据c#
- 串口数据接收小结
- Linux 串口接收数据
- Java接收串口数据
- 串口接收数据
- 串口数据的接收
- 串口接收数据c#
- 串口数据接收处理
- matlab串口采集数据
- Matlab 串口 数据滤波
- Android层接收串口数据
- [CC2530]串口接收发送数据
- C#----串口数据接收发送
- 串口接收数据部分代码
- for标签之从大到小和嵌套循环
- poj 1655 树形dp求取树的重心
- Unity3D架构系列之- FSM有限状态机设计四至六
- 配置恢复出发异常中断的解析
- [麦克死特] ugui 一点点看法
- Matlab接收串口数据
- Unity3D 战斗技能系统架构
- Unity有限状态机实现
- Unity3D客户端实时同步
- 【Jason's_ACM_解题报告】Where is the Marble?
- [卡卡西0旗木] [代码设计]对象池设计与打飞机演示
- ./sbt/sbt assembly 编译spark报错
- Unity动态对象优化
- Unity3D静态对象优化系列