matlab udp 实时数据,【求助】 UDP通信中如何实现数据的实时读取

该博客讨论了在MATLAB中使用UDP通信时如何实现数据的实时读取。作者遇到一个问题,即在接收时间数据流时,只能读取Receive Data按钮按下前的数据。为了解决这个问题,尝试使用BytesAvailableFcn中断回调函数,但未成功。博客提供了UDP通信的MATLAB GUI源码,寻求社区帮助解决实时接收数据的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做了一个UDP通信的GUI界面,并且将发送和接收弄到了同一个界面上,在同一台电脑上试过,能够工作,点击Open Transmit UDP和Open Receive UDP之后,在左下方的白框里输入要发送的数据,点击Send Data,再点击Receive Data,可以在右下方的白框里显示接收到的数据。

但这种方式有一个问题,如果接收的是一个时间上的数据流,那么只能将点击Receive Data之前缓存接收到的数据读取出来,对点击Receive Data之后缓存接收到的数据却没法读取。要怎样解决这个问题呢。我尝试用中断回调函数,利用BytesAvailableFcn这样的方式,每接收到10个字节就读取一次缓存,但却没能成功。实在不知道该怎么办,只能求助大家了。谢谢先。

附上源码

function varargout = UDPCommunication(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

'gui_Singleton',  gui_Singleton, ...

'gui_OpeningFcn', @UDPCommunication_OpeningFcn, ...

'gui_OutputFcn',  @UDPCommunication_OutputFcn, ...

'gui_LayoutFcn',  [] , ...

'gui_Callback',   []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值