IAR开代码优化Low运行不正常

定时器定时不准确。

MCU/单片机:

国民技术N32G030C8T6

开发环境:

IAR8.3

现象:

调试定时器1时定时时间不正常

解决:

1、开始用官方提供的示例测定时器1,定时100ms,在中断里面翻转IO口,然后用示波器看,定时100ms,准确
2、用测试好的代码移到自己的程序里面,发现定时器不正常,原本100ms的定时,变成了几十秒
3、对比官方示例,并反复测试,还是不行,最后没办法,原样用官方给的代码过来,把自己的整个程序注释掉,只运行拿过来的代码,发现还是不行
4、没办法了,整个时候。对比一下工程配置,一个点一个点的对比测试
5、最后在代码优化那里发现了问题,官方用 的是中级优化代码,而我的工程为了调试方便,用的是low级。把优化等级改成hight或者None,就好了,中断就正常了

结论:
在Keil编译器环境中,用level0级调试代码运行正常
在IAR编译环境中,需要把代码优化等级调到hight或者None,不然代码运行不正常

目前只是在国民技术的这颗N32G030里面发现这个问题,其它单片机还没见过。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值