高端营销型网站制作青岛 网站备案

张小明 2025/12/28 14:22:53
高端营销型网站制作,青岛 网站备案,广州 建设 招聘信息网站,宿迁定制网站建设C语言中union#xff08;共同体#xff09;的特点1. 内存共享特性union Data {int i;float f;char str[20]; }; // 所有成员共享同一块内存空间所有成员共享同一段内存大小为最大成员的大小同一时间只能存储一个成员的值2. 典型特点内存覆盖#xff1a;修改一个成员会影响其…C语言中union共同体的特点1. 内存共享特性union Data { int i; float f; char str[20]; }; // 所有成员共享同一块内存空间所有成员共享同一段内存大小为最大成员的大小同一时间只能存储一个成员的值2. 典型特点内存覆盖修改一个成员会影响其他成员节省内存相比struct更节省空间类型转换可实现不同类型数据的便捷转换大小端检测可用于检测系统字节序3. 示例演示union Example { uint32_t word; uint8_t bytes[4]; struct { uint8_t b0, b1, b2, b3; }; }; // 使用示例 union Example data; data.word 0x12345678; printf(Byte0: 0x%02X\n, data.bytes[0]); // 输出取决于字节序STM32中union的典型应用1. 寄存器位域操作// GPIO寄存器位域访问 typedef union { struct { uint32_t MODER0 : 2; // 模式设置 uint32_t MODER1 : 2; uint32_t OTYPER0 : 1; // 输出类型 uint32_t OTYPER1 : 1; uint32_t OSPEEDR0 : 2; // 输出速度 // ... 其他位域 } bits; uint32_t reg; // 整个32位寄存器 } GPIO_TypeDef; // 使用示例 GPIO_TypeDef GPIOA; GPIOA.bits.MODER0 0x01; // 设置位域 uint32_t reg_val GPIOA.reg; // 获取完整寄存器值2. 数据包解析// CAN报文数据结构 typedef union { struct { uint32_t id : 29; // 标准ID uint32_t rtr : 1; // 远程帧标志 uint32_t ide : 1; // IDE标志 uint32_t dlc : 4; // 数据长度 uint8_t data[8]; // 数据域 } frame; uint8_t raw[13]; // 原始字节数组 } CAN_Packet_t; // 网络协议解析 typedef union { struct { uint16_t source_port; uint16_t dest_port; uint16_t length; uint16_t checksum; } header; uint8_t bytes[8]; } UDP_Header_t;3. 浮点数与字节数组转换// 传感器数据处理 union FloatConverter { float value; uint8_t bytes[4]; }; // 使用示例 union FloatConverter sensor_data; // 从UART接收4字节数据 uart_receive(sensor_data.bytes, 4); float temperature sensor_data.value; // 转换为浮点数4. 多数据类型访问// ADC数据访问 union ADC_Data { uint16_t raw_value; // 原始ADC值 struct { uint8_t low_byte; uint8_t high_byte; } bytes; float voltage; // 转换后的电压值 }; // 使用示例 union ADC_Data adc_result; adc_result.raw_value ADC1-DR; // 读取ADC寄存器 uart_send(adc_result.bytes.low_byte); // 发送低字节 float vol adc_result.raw_value * 3.3 / 4095; // 计算电压5. 状态标志位管理// 系统状态标志 union System_Status { struct { uint8_t sensor_ready : 1; uint8_t comm_ok : 1; uint8_t battery_low : 1; uint8_t fault_flag : 1; uint8_t reserved : 4; } flags; uint8_t status_byte; }; // 使用示例 union System_Status sys_status; sys_status.flags.sensor_ready 1; if (sys_status.flags.fault_flag) { // 处理故障 }6. 通信协议处理// Modbus RTU协议 typedef union { struct { uint8_t address; uint8_t function_code; uint16_t register_addr; uint16_t data; uint16_t crc; } fields; uint8_t raw_frame[8]; } Modbus_Frame_t; // 使用示例 Modbus_Frame_t frame; uart_receive(frame.raw_frame, 8); if (frame.fields.address 0x01) { // 处理地址为1的设备 }使用注意事项优点节省内存特别适合内存受限的嵌入式系统高效访问可直接访问数据的各个部分类型安全提供结构化的数据访问方式风险数据覆盖不当使用会导致数据被意外覆盖字节序问题跨平台时需要注意大小端可读性过度使用可能降低代码可读性最佳实践// 推荐做法添加清晰的注释和类型定义 typedef union { struct { uint32_t mantissa : 23; uint32_t exponent : 8; uint32_t sign : 1; } ieee754; float fval; } IEEE754_Float __attribute__((packed)); // 确保紧凑存储在STM32嵌入式开发中union常用于寄存器配置位域操作通信协议数据包解析数据转换不同格式间的转换状态管理标志位操作内存优化节省有限的RAM资源
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

app 网站可以做的免费推广大尺寸图网站

MiniMax Agent:重构智能生产力边界,通用智能体60天内渗透50%团队协作场景 【免费下载链接】MiniMax-M2 MiniMax-M2是MiniMaxAI开源的高效MoE模型,2300亿总参数中仅激活100亿,却在编码和智能体任务上表现卓越。它支持多文件编辑、终…

张小明 2025/12/27 5:11:32 网站建设

成都装修建材网站建设济南品牌网站制作方案

第一章:Open-AutoGLM常见问题概述在部署和使用 Open-AutoGLM 框架过程中,开发者常遇到若干典型问题,涵盖环境配置、模型加载、推理性能及 API 调用异常等方面。这些问题若未及时处理,可能显著影响开发效率与系统稳定性。环境依赖冲…

张小明 2025/12/27 5:11:01 网站建设

商业网站需要的wap网站是什么意思

目录 1.变量作用域 2.函数执行过程 2.1链式调用 2.2嵌套调用 2.3函数递归 3.参数默认值 4.关键字参数 1.变量作用域 观察以下代码: def getPoint(): x 10 y 20 return x, y x, y getPoint() 在这个代码中, 函数内部存在x, y, 函数外部也有x, y. 但是这两…

张小明 2025/12/28 14:10:03 网站建设

提供营销单页网站百度推广怎么推

第一章:MS-720 Teams Agent开发概述Microsoft Teams 平台通过 MS-720 认证体系推动了智能代理(Agent)生态的发展,使得开发者能够构建具备上下文感知、任务自动化与自然语言交互能力的智能服务。Teams Agent 作为集成于协作环境中的…

张小明 2025/12/28 13:58:37 网站建设

网址导航网站如何做ysl千色t9t9t9成全

工业边缘节点应用:DeepSeek处理实时产线数据的低功耗配置方案摘要随着工业4.0和智能制造的深入发展,工业边缘计算作为连接物理世界与数字世界的桥梁,其重要性日益凸显。工业边缘节点部署于生产现场,负责实时采集、处理和分析产线数…

张小明 2025/12/28 14:13:40 网站建设

亚马逊外贸网站如何做手游开发

还在为复杂的知识图谱构建而头疼吗?SmartKG让一切变得简单!这款强大的开源工具能将普通的Excel表格快速转换为交互式知识网络,让知识管理从此告别繁琐。无论你是企业管理者、科研工作者还是教育从业者,都能在3分钟内上手使用。 【…

张小明 2025/12/27 5:08:53 网站建设