偶然间遇到后,滤除了其他无关的代码和模块,在开发板上试了试,是一样的问题

用正点原子的F4开发板和他们的定时器中断例程。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

将定时器中断改为20ms一次

截图就是全部代码了。

关于MDK编译器优化产生的一个小问题 随笔 第1张

关于MDK编译器优化产生的一个小问题 随笔 第2张

 

中断里给TimeFlag++,

在主循环里判断标志是否来临,如果来临LED0翻转,如果超时则打印超时信息。

用示波器看到的波形是这样的。

关于MDK编译器优化产生的一个小问题 随笔 第3张

解决这个问题的办法有很多,但是我不知道这样为什么不行,最后吃菠菜面的时候突然想到会不会是编译器造成的,第二天上班一试果然。

关于MDK编译器优化产生的一个小问题 随笔 第4张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄