网站首页 > 文章精选 正文
在嵌入式软件开发MBD建模时,我们在处理数据有时需要将小端数据转换为大端数据。而嵌入式开发时的数据大多数时的类型都是无符号整数类型,可以使用Simulink的基本库组件构建处理将uint16类型、uint32类型、uint64类型的小端数据转换为大端数据。
1.小端数据转换为大端数据
小端数据是低位字节存储低位数据,高位字节存储高位数据。大端数据低位字节存储高位数据,高位字节存储低位数据。而实际的数据读取都是从低位数据处理的,因此不同大小端类型的处理器要进行大小端数据转换才能获取实际传输的数据的数值。
uin8类型只有一个字节,因此uint8类型的数据不需要进行转换。使用Shift Arithmetic模块(移位模块)、Bitwise AND(模块或与非位运算符模块)、Data Type Conversion模块(数据转换模块)、Mux模块(信号合并模块),可以组合成三个子系统分别实现将uint16、uint32和uint64的小端数据转换为大端数据。
实例1
以uint16的520为例,进行实例转换仿真。
uint16类型的520
十进制 520
二进制 0000 0010 0000 1000
假设地址 0004 0003 0002 0001
此时:低位地址存放低位数据、高位地址存放高位数据是小端数据
转换为大端数据
十进制 520
二进制 0000 1000 0000 0010
假设地址 0004 0003 0002 0001
此时:低位地址存放高位数据、高位地址存放低位数据是大端数据
转换为小端数据
shift Arithmetic模块参数
Bitwise AND参数
2.封装成子系统或原子子系统
uin16类型的小端数据转换为大端数据子系统
仿真实例
uin32类型的小端数据转换为大端数据子系统
仿真实例
uin64类型的小端数据转换为大端数据子系统
仿真实例
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙
- 上一篇: 眉山东部新城往事:修房子的故事(二)
- 下一篇: 工业齿轮外形分类(工业齿轮外形分类有哪些)
猜你喜欢
- 2025-07-21 [西门子PLC] 两个S7-1200之间实现Modbus TCP客户端和服务器通信
- 2025-07-21 谈谈西门子PLC中的字位变换(西门子plc的字和位)
- 2025-07-21 史上最全齿轮类型介绍及主要参数计算与画法详解
- 2025-07-21 机械设计中的尺寸标注(机械设计中的尺寸标注,看懂复杂机械图纸)
- 2025-07-21 FANUC 0iTF 车床编程 G90 车削锥度指令
- 2025-07-21 C语言验证大小端的几个方法(用c语言实现大小端的测试)
- 2025-07-21 机器人也要“减重”? 机械臂用上碳纤维复合材料,性能或大有提升
- 2025-07-21 揭秘通信协议设计的奥妙,作为面试官我都看蒙了
- 2025-07-21 新手攻略!入门ARM必须要理解的22个常用概念
- 2025-07-21 NPT 螺纹与英制螺纹的区别大揭秘(英制螺纹和npt)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)