找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1612|回复: 0
打印 上一主题 下一主题
收起左侧

MATLAB串口通信的实现

[复制链接]
跳转到指定楼层
楼主
ID:336578 发表于 2018-5-23 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


delete(instrfindall) 这一句是删除所有串口设备。。  
有的时候虽然关闭了串口,但是上面仍然显示占用,,这个时候就需要这一句。。
然后是打开串口。设置一些常用的参数。   
s.BytesAvailableFcnMode='byte' ;
s.BytesAvailableFcnCount=40;
这两句是接收区40字节时触发中断。。
中断函数是callback。

a=fread(obj,40); 是读取40字节。并存到a中。
fid = fopen('b.txt','a');   打开一个文本文档。
fprintf(fid,'%d \n',b);    按一定格式写入数据。
这两个程序写好之后,, 就可以运行了,,  运行第一个文件,如果串口不停地发上来数据,MATLAB就会一直调用callback,把数据写入文本文档中。。
需要停止串口,运行这个程序即可。。

串口发送的数据放在文本文档里不方便处理,,用下面这个数据进行读取:

A = fscanf(fileID,formatSpec,sizeA);  
fscanf是读取文本文档的命令。。
formatSpec是读取格式,需要与文本文档中对应。
文档中的数据存放到A中,它的数据格式用sizeA定义,本程序是一行多列。。
这时,串口发送的数据,就读取到A中了。。。 可以进行显示,处理等操作。。。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表