• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > stm32结构体赋值问题

stm32结构体赋值问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了stm32结构体,stm32结构体指针,stm32结构体定义,stm32中的结构体,stm32串口发送结构体等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: stm32 结构体赋值问题
描述:

本帖最后由 wangjianqun 于 2016-05-19 18:34:06 编辑

我用KEIL做一个STM32的项目,其中建立这样一个结构
typedef struct
{
u8 hour;//u8位无符号字符型
u8 min;
u8 sen;
s16 offset;//short型
u8 op_port;
u8 new_state;
u8 auto_state[8];
}rev_con;
但赋值的时候 offset怎么都不对,规律是 op_port赋值到offset的高8位上了,而setoff高8位不翼而飞。在内存观察口看数据还是对的,但watch口观察变量就是错的,不知道什么原因,哪位大侠帮看看,感激不尽。
另外我是用memcpy函数赋值的


解决方案1:

引用 1楼dceacho 的回复:
你改成1字节对齐就应该可以了
#pragma pack(1)
typedef struct
 {
 u8 hour;//u8位无符号字符型
 u8 min;
 u8 sen;
 s16 offset;//short型
 u8 op_port;
 u8 new_state;
 u8 auto_state[8];
 }rev_con;
正解,楼主应该看看结构体大小,编译器补了一个字节。

解决方案2:

你改成1字节对齐就应该可以了

#pragma pack(1)
typedef struct
 {
 u8 hour;//u8位无符号字符型
 u8 min;
 u8 sen;
 s16 offset;//short型
 u8 op_port;
 u8 new_state;
 u8 auto_state[8];
 }rev_con;


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • stm32结构体赋值问题

相关文章

  • 2017-06-05 大神帮我看看!proteus51单片机adc0808转换不准确问题
  • 2017-06-05 高分求救:98下modem安装上去了,在拨号网络中去看不到???
  • 2017-06-05 请教关于USB中断传输的编程问题
  • 2017-06-05 求一款5v-12v宽电压输入,5v输出的开关电源芯片
  • 2017-06-05 脱离单片机的开发环境,如何做一个通过JTAG的下载程序呢?
  • 2017-06-05 谁能给我解释一下这个电路图
  • 2017-06-05 为什么DDK中的头文件编译通不过?
  • 2017-06-05 NRF24l01在D:0x00~0x17发送和接收部分看看对不对
  • 2017-06-05 有关Mini2440的书有哪些?中文的英文的都可以。
  • 2017-06-05 使用虚拟机调试设备

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Workbench30_VxWorks66如何删除干净
    • 求大神帮忙看一下,vxorks
    • usb接口如何发送数据
    • MDK有没有类似于VS的函数调用堆栈信息?
    • PPPD拨号:出问题:Couldn'tattachtochannel4:Invalidargument
    • 请教如何监控刻录机。
    • WINCE60系统的SDK是否可以在VS2010或是VS2012或是VS2013开发
    • PDA开发发送短信模块wince开发
    • 域名解析到同个机房多台机器,会不会有解析的异常?
    • 如何理解操作系统与安装(运行)在操作系统上的软件的关系

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有