程序里有一个全局变量,可以理解为油门的作用,STM32根据它的大小来给出四路PWM。今天碰到一个莫名其妙的BUG,其他程序都正常跑着,就是这个全局变量的值不知为何总会被自动清0,明明初始化成非0值的。另外,我可以通过串口改变这个变量的值的,但每次刚通过串口给它赋值,瞬间就被清0了。我是用那个变量来控制电机喽,现象就是每次改变下油门,电机动一下立马就不转了。。。我程序里绝对没有对这个变量清0过。最奇葩的是,程序没有重新下载,只是复位几次,又忽然恢复正常了。但再复位又可能不正常了。。。这真是活久见~~~难道RAM到寿命了?可是程序正常跑着啊,其他变量也没事,就这一个全局变量会有这样的问题,你们说有可能是什么原因?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
一个u16的全局变量,不是数组,外部声明查过了,没问题。我的全局变量全部定义在一个单独一个C文件里,然后在它的H文件进行外部声明。没有错误
---------------------------------
绝对没有。。。。程序都是自己一句一句码的我会不知道?我也检查了
---------------------------------
已放出,是一个四轴工程,出问题的变量是Throttle,在define.c文件中定义,extern.h文件中进行外部声明
一周热门 更多>