matlab串口通信

硬件上: 单片机通过串口发送数据,,  通过 USB转串口模块,  把数据发给电脑。。


在MATLAB上,对串口进行读取:


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中了。。。 可以进行显示,处理等操作。。。

  • 3
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值