你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

MDK优化等级问题--基于STM32F407

[复制链接]
huangxuejia-292 提问时间:2018-3-28 22:38 /
阅读主题, 点击返回1楼
收藏 3 评论19 发布时间:2018-3-28 22:38
19个回答
huangxuejia-292 回答时间:2018-3-29 21:17:58
zhao.zhao 发表于 2018-3-29 10:48
这个具体讲不清,只能这么说,程序要写得尽可能符合ANSI C的规范,警告尽量消除掉,当然有时警告也不碍事, ...

多谢指点,警告确实是个问题。我的代码确实有些警告没清理,回头清理完了在研究研究这个问题。

点评

等楼主后续的分享了~  发表于 2018-3-31 14:08
ztin0501 回答时间:2018-3-30 09:51:18
感謝~~

评分

参与人数 1ST金币 -1 收起 理由
zero99 -1 没看懂

查看全部评分

gh.huang 回答时间:2018-4-23 13:34:11
优化等级高了在线调试是个问题。
wwwheihei 回答时间:2018-7-12 09:55:55
优化等级到底该怎么选,怎么选稳定呢
wt13568089592 回答时间:2018-9-10 12:20:03
支持,看看能不能甩
motianlun1111 回答时间:2019-5-18 23:03:38
不知道楼主找到问题根源没有?我是stm32f103rct6也是遇到类似的问题了,
adc,同步触发采样,采集电机的电流,我不接电机的情况下,采集底噪在设置不同的优化等级下不一样,比较诡异的是:
比如我现在设置的0级优化,底噪感觉正常的,但是我加了一些代码之后,还是0级优化就不正常了,
然后我就不断的改优化等级,可能是3级优化正常,然后我又改点和这个adc无关的代码,可能这时候原来正常的优化等级又不正常了,
这时候又要试一遍,可能遇到优化等级2又是正常的,
adc的底噪是正常的时候大约在10lsb以内,不正常的就是有很大的跳变,如图:
底噪正常的:试到优化等级1正常

底噪正常 优化等级1

底噪正常 优化等级1

底噪异常的:优化等级0,2,3异常

底噪异常 优化等级0,2,3

底噪异常 优化等级0,2,3

意思就是说每次我增加了一点代码,或者删除了一点代码,当然是和adc无关的代码,我需要不断的调优化等级,可能找到一种优化等级保证adc的噪声是正常的
plj213 回答时间:2020-5-21 11:26:24


谢谢分享,学习学习。。。
mikecai 回答时间:2020-5-21 15:31:49
个人觉得很像内存 有问题,不一定是优化:
  理由:1)去掉某部分,相当于排除了部分内存,造成内存有多余。
           2)加 volatile 定义 的变量不会被优化掉。有客观保护该变量的意思,
          3) ADC单独封一个函数,也相当于 ADC 结果变量 被保护了。
  内存泄漏或分配乱指向 都比较像造成某个值异常。
huangxuejia-292 回答时间:2020-5-31 08:17:46
好久了,我记得好像解决了,问题是要处理ADC的出错,也就是说,当ADC转换出错的时候,要根据出错流程处理,否则后面的转换会一直是错的。

有空我再看看。
12
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版