求助原子哥,全局变量值莫名其妙被清0的问题

2019-08-17 02:45发布

程序里有一个全局变量,可以理解为油门的作用,STM32根据它的大小来给出四路PWM。今天碰到一个莫名其妙的BUG,其他程序都正常跑着,就是这个全局变量的值不知为何总会被自动清0,明明初始化成非0值的。另外,我可以通过串口改变这个变量的值的,但每次刚通过串口给它赋值,瞬间就被清0了。我是用那个变量来控制电机喽,现象就是每次改变下油门,电机动一下立马就不转了。。。我程序里绝对没有对这个变量清0过。最奇葩的是,程序没有重新下载,只是复位几次,又忽然恢复正常了。但再复位又可能不正常了。。。这真是活久见~~~难道RAM到寿命了?可是程序正常跑着啊,其他变量也没事,就这一个全局变量会有这样的问题,你们说有可能是什么原因?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
沉默焚烧
1楼-- · 2019-08-17 06:44
觉得是你自己在哪不小心动了那个全局变量。
hyghyg1234
2楼-- · 2019-08-17 05:25
程序放出来,不然很难知道什么原因,多半是程序BUG,硬件出问题的可能很小。
1201yuge
3楼-- · 2019-08-17 07:26
 精彩回答 2  元偷偷看……
雪噬剑
4楼-- · 2019-08-17 09:20
回复【4楼】1201yuge:
---------------------------------
一个u16的全局变量,不是数组,外部声明查过了,没问题。我的全局变量全部定义在一个单独一个C文件里,然后在它的H文件进行外部声明。没有错误
雪噬剑
5楼-- · 2019-08-17 10:05
回复【3楼】沉默焚烧:
---------------------------------
绝对没有。。。。程序都是自己一句一句码的我会不知道?我也检查了
雪噬剑
6楼-- · 2019-08-17 15:13
回复【2楼】hyghyg1234:
---------------------------------
已放出,是一个四轴工程,出问题的变量是Throttle,在define.c文件中定义,extern.h文件中进行外部声明

一周热门 更多>