请问是什么原因导致STM32程序变大后ADC工作不正常了?

2019-07-14 15:15发布

大家有没有遇到这样的问题,程序貌似超过60多kb后adc转换出来的数据就很奇怪了,我用的是STM32L151系列的;
通过观察寄存器,adc的CR2寄存器发生了变化;
11.png
12.png
目前解决方法有两种:
        ① 控制程序不要超过60多kb;
        ② 强制将CR2寄存器赋值成正确的值;

我想知道问题的根本原因在哪儿,在此等候各位大神的回复

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
drakannie
1楼-- · 2019-07-15 00:17
没有操作系统,同样的程序,O0编译出来66KB,O1编译出来是62KB就是正常的,这就是我说为什么程序超过60多kb就出问题(我怀疑64KB是个分水岭).
小句句63
2楼-- · 2019-07-15 01:39
看看ld文件里面的配置
iettke
3楼-- · 2019-07-15 01:54
没有ld文件,只有sct,里面东西是工程自己生成的
ZXH22770
4楼-- · 2019-07-15 04:24
 精彩回答 2  元偷偷看……
723662364d
5楼-- · 2019-07-15 08:42
应该是你的代码无意改写了该寄存器
iettke
6楼-- · 2019-07-15 08:50
不可能,其他功能都正常~

一周热门 更多>