29
2021
07

单片机的code(keil中运行)值超过某个值的时候程序就不能正常跑的原因之一

    我遇到这个问题的时候,一开始怀疑自己的程序写的不对,然后发现我程序只要多一行就会跑错,不管多的是什么代码,然后就发现了code只要超过7782这个值程序就会跑乱,但是我查看了我的flash是32K的,不可能程序区不够啊,就特别奇怪,百度说可能是什么堆栈溢出,但是程序没有用到堆栈,但是呢这个给了我一个提示,或许我的代码真的有啥溢出了呢,数组还是什么;后面发现程序里面有划分flash程序区和数据区的变量,这个变量太小了,导致划分的程序区小,所以出现溢出问题,导致程序跑乱了。

    找了好久,,哈哈哈

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。