[Matlab]使用Simulink进行UDP通讯1
来源:互联网 发布:二叉树层次遍历 python 编辑:程序博客网 时间:2024/05/17 22:42
原创文章,欢迎转载。转载请注明:转载自 祥的博客
原文链接:http://blog.csdn.net/humanking7/article/details/50709771
使用 Matlab 的 Simulink 进行 UDP通讯 需要注意 数据的打包和解包
使用Simulink进行UDP发送
下图所示使用 Simulink 模块搭建的 UDP发送端
原理介绍
就是将4个信号【4个数据】用UDP模块发送到10.13.68.220:9090
模块介绍
模块1.数据打包 Pack
其中的 数据打包模块 Pack 用来将要发送的多个数据打包成为一个uint8数据流 【当作unsigned char型数组看待】。
Help文档的Description:
The Pack block is used to convert one or more Simulink signals of varying data types to a single vector of uint8 as required by the Send block.
如上图所示,这个模块有两个参数
- Input port data types
- Byte alignment
第一个参数 Input port data types
是得到输入参数的数据类型【用来确定如何转换为unsigned char型数组】
第二个参数 Byte alignment
是用于数据对齐的,具体用法会在下一篇博客(Matlab使用Simulink进行UDP通讯2)中详细介绍到。
模块2.UDP发送 UDP Send
UDP发送模块用来将打包好的数据,发送到指定的IP的端口中
其中有3类参数
Remote address
和Port
指定要发送到的IP地址和端口Local Port
是 本机的发送端口Byte order
是用来指定数据发送的大小端问题
模块3.数据类型转换 Data Type Conversion
这个模块是用来将一个数据类型转换成另一个数据类型
我的这个Simulink模型中,信号源1和信号源4用了此模块,这是因为模块前的信号是double
【Constant发出的信号是double类型的,虽然是65和97两个整数】,而模块后的所需要的数据类型是uint8
【Pack模块中设置的是”uint8,double,double,uint8”】。
所以需要数据类型转换。
接收情况
当 Byte alignment = 2 时,接收到的数据如下【多组数据,1列一组】:
41 00 00 00 00 00 00 00 00 00 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 39 13 17 36 BB 67 07 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 12 B4 0F 9A 1E 5C 16 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 36 80 8D 0C 0E 05 1F 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 11 E5 19 D9 51 74 22 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 95 B0 36 43 1A C0 23 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 2D FF AC 26 3D 48 23 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 BF 48 F3 85 6F 17 21 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 CA B9 88 56 93 BF 1A 40 7B 14 AE 47 E1 7A 94 3F 61 00 41 00 90 7A C3 34 9B EC 10 40 7B 14 AE 47 E1 7A 94 3F 61 00
下一篇博客将会分析打包模块Pack 的参数 Byte alignmen 对数据发送的影响。
- [Matlab]使用Simulink进行UDP通讯1
- [Matlab]使用Simulink进行UDP通讯2
- Mac中使用MATLAB进行simulink代码生成
- matlab simulink 使用总结
- 使用MATLAB&simulink&stm32mat_target&stm32cubemx开发stm32
- 声反馈抑制使用matlab/simulink仿真
- Matlab使用串口通讯
- Matlab Simulink 串口通讯之float数据到字节数组(uint8)的相互转化
- (java)在两台已知Ip的电脑间,使用UDP协议进行通讯
- Matlab/Simulink——使用SimMechanics建立单摆模型
- matlab虚拟现实之建立simulink虚拟现实工具箱的使用
- 使用Matlab+Simulink开发Cortex-M系列嵌入式处理器应用程序
- MATLAB中Simulink仿真工具使用总结.md
- 使用WM_COPYDATA进行通讯
- matlab simulink workspace描述
- Matlab&Simulink开发STM32F4
- MATLAB simulink 原理
- memory matlab/simulink
- [Lintcode]Merge Sorted Array
- 已知线段端点坐标,求线段上等距离的点坐标序列
- Android控件AutoCompleteTextView-自动匹配
- C#聊天程序基于HP-SOCKET V1.1最终版
- tiny4412下的Exynos4412 iROM 启动分析
- [Matlab]使用Simulink进行UDP通讯1
- 详解Android中AsyncTask的使用
- CSS 选择器 element.id 与element .id element.class 与 element .class
- android基础之二——网络编程(二)
- 安卓第二天笔记--数据保存
- Spinner
- 用Qt实现一个桌面弹幕程序(五)-- -- 桌面客户端实现①
- cvWaitKey
- 人民币符号的使用注意