原创文章,欢迎转载。转载请注明:转载自 yimsdn
原文链接:https://blog.csdn.net/yimsdn/article/details/106023173
【摘要】利用UDP协议通过网络端口将数据传递给联网的客户端。
UDP接收浮点数据
图1给出了SIMULINK DUP接收浮点数据的模型图。利用SIMULINK中DSP System Toolbox中的UDP Receive接收从指定网络端口发送的数据。为保持SIMULINK程序运行时间和操作系统时间一致,调用Real-Time Synchronization模块。注意:如果您在SIMULINK建模过程中,找不到相应模块,可能是MATLAB/SIMULINK的功能包安装不完全。
在SIMULINK模型中,unPack是用C语言编写的S函数。关于C语言编写S函数的用法请参考 https://blog.csdn.net/zhanshen112/article/details/79503773 。
为更清楚地表示SIMULINK模型中信号的类型和维数,可在模型空白处,右键单击,选中Format,如图2所示。
按照图3所示,设置Real-Time Synchronization模块、UDP Receive模块、Data type conversion模块、unPack模块的参数。
利用联合体传递浮点型数据
什么是联合体(union)?如何利用union在传递byte型数据的同时传递float型数据?请参考博客 https://blog.csdn.net/lin_duo/article/details/90545055
网络调试助手设置
打开“网络调试助手”,然后按照图4所示的参数进行设置。
调试结果
运行SIMULINK模型,观察Display显示num1和num2,如图5所示。
附件
图6为附件,包含实现SIMULINK的UPD接收数据所需要的资源。附件下载地址为https://download.csdn.net/download/yimsdn/12403854