搜索
查看: 4272|回复: 4

[已解决] 芯片STM32L52RE,在keil里面全局变量时常变为0

[复制链接]

该用户从未签到

2

主题

3

帖子

0

蝴蝶豆

新手上路

最后登录
2017-5-15
发表于 2017-5-15 18:44:15 | 显示全部楼层 |阅读模式
各位前辈,我现在用的芯片是STM32L52RE。用的库是HAL库,现在出现一个很诡异的问题,就是声明的全局变量,在作为一个参数传参后(只是作为形参,就是一个数值),发现自己会奇异的变为0 。 然后是全局数组,里面会有其中一个固定的字节变为0. 但是我发现,只运行一些非常简单的代码,发现不会改变。当全部代码运行的时候会出现这个问题,是不是说有内存溢出或者其他的bug?有没有前辈碰到过这种问题?
回复

使用道具 举报

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2017-5-17 09:21:33 | 显示全部楼层
虽然溢出也有可能,但是你这显然是程序的其他地方导致的,你最好是检查一下,这变量在哪里被使用过,一个一个地方来排除!!!!
回复 支持 0 反对 1

使用道具 举报

该用户从未签到

60

主题

2111

帖子

31

蝴蝶豆

版主

最后登录
2023-6-21
发表于 2017-5-15 22:01:55 | 显示全部楼层
将变量或者数组换个地址定义,或者调试状态下单步看哪个操作会导致变量被清零。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

6

帖子

0

蝴蝶豆

新手上路

最后登录
2017-5-16
发表于 2017-5-16 10:59:52 | 显示全部楼层
应该是程序的问题吧
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

15

帖子

0

蝴蝶豆

中级会员

最后登录
2020-12-7
发表于 2020-12-7 11:49:48 | 显示全部楼层
我遇到过这个问题, 在KEIL 里面 定义变量尽量在 最上面, 不要在程序函数中间 定义变量 我的是这个问题
不过越界 也能导致。。 你检查下吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-12 21:10 , Processed in 1.198201 second(s), 40 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表