Matlab接收串口数据

本文介绍如何使用Matlab从串口接收数据,并将接收到的数据保存为以当前时间命名的txt文件。在调试过程中,作者解决了文件命名、读取函数选择(fread vs fscanf)及回调函数中计数问题。最终选择fscanf读取串口助手发送的字符数据,并确保正确处理串口缓存区和计数。
摘要由CSDN通过智能技术生成

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关于串口的帮助的中文翻译;
%% 初始化串口。
clear
clc
Serial_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=i
  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值