Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
结构体作为全局变量有问题?
发布于 2021-09-11 17:25:49 浏览:1704
订阅该版
硬件平台:正点原子f407,软件为rtstudio 模仿arm的pid写了一个pid.c,调用的时候出现问题 显示pid.c的代码 ![ff281f3d8549a342cf660260f1440b43.png](https://oss-club.rt-thread.org/uploads/20210911/ff281f3d8549a342cf660260f1440b43.png) 然后是main函数里面,上来就调用这两个函数 ![3d1d9a19b784adc830fd867130db10fc.png](https://oss-club.rt-thread.org/uploads/20210911/3d1d9a19b784adc830fd867130db10fc.png) 理论上打印出来的值是一样的才对,但是 ![feb8476b938a2dfc7f794972ec3fdee6.png](https://oss-club.rt-thread.org/uploads/20210911/feb8476b938a2dfc7f794972ec3fdee6.png) 我怀疑是怎么被优化掉了,但是全局变量应该不会被优化掉啊??? 我尝试了一下在定义结构体的时候多定义两个数字,发现可以正常打印,就很奇怪,具体见下: 如此更改: ![image.png](https://oss-club.rt-thread.org/uploads/20210911/df14de5a23522c8e182b230e5cc11092.png) 得到了正确的结果 ![image.png](https://oss-club.rt-thread.org/uploads/20210911/afd73c2799605b9a77600cfac596d2a0.png)
查看更多
出出啊
2021-09-11
恃人不如自恃,人之为己者不如己之自为也
明显栈溢出了呗,把你那个数据给冲了
3
个回答
默认排序
按发布时间排序
李肯陪你玩赚嵌入式
认证专家
2021-09-12
2022年度和2023年度RT-Thread社区优秀开源布道师,COC深圳城市开发者社区主理人,专注于嵌入式物联网的架构设计
你的这个,不出意外的话,应该就是全局数据被别人冲掉了。 有个办法,可以简单排查下可能是谁冲掉了。 尝试分析map文件,找到你定义的这个全局的pidCtrl_sp变量附近都有哪些全局的数据; 看下旁边的数据都有可能是谁在操作,很有可能就是别人它相邻区域的时候, 误操作了你的数据,比如操作的时候,长度搞错了之类的,就变成把你的数据搞乱了。 还有方法,可以辅助排查:,使用hexdump方式打印内存数据; 把你的全局的结构体数据,使用内存buffer的方式打印出来分析, 观察前后都是哪几个字节被修改了。 打印方法可以参考,我写过的一篇文章:[hexdump方式打印字节数组](https://blog.csdn.net/szullc/article/details/120176216) 以上答案,希望能给你提供点解决的思路。
cychen
2021-09-11
这家伙很懒,什么也没写!
试下强制结构体字节对齐
撰写答案
登录
注册新账号
关注者
0
被浏览
1.7k
关于作者
骁骑校尉
这家伙很懒,什么也没写!
提问
11
回答
3
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
rt-thread官方usb驱动之虚拟串口
2
RTduino物联网应用零基础入门
3
TinyUSB Demo运行教程
4
RT-Thread学习大礼包一键带走!
5
freemodbus从机调试说明
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
cubemx
PWM
flash
packages_软件包
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
4
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
5
个答案
1
次被采纳
rv666
3
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
4
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部