跑飞原因就很多了,我说说程序没问题,不可思议跑飞的状况。
为啥说程序没问题呢?首先是编译经过啦,其次咱们也正确的装备寄存器了,可是还跑飞了,蛋疼。
特别是相对于STM8S103F3这些只要少的不幸的8K存储空间的单片机,真是蛋疼啊,好了不废话了,据我的经验总结一下:
用IAR渠道,COSMIC的很烂,劝君莫用。
1、debug形式优化设置为none,此种状况下编译并运转还跑飞的话,可能是Option byte设置问题。比方你用了TIM2_CH1的PWM功用,可是你的Option byte没设置,那么跑起来会飞掉(我第一次遇到这么奇葩的单片机)
2、假如程序真的很大,要把优化设置为middle,那么就要当心了。IAR的优化有点小问题,尽管middle能编译经过,可是下载下去有可能是跑飞的,这个要特别当心。解决方法是优化代码,并尽可能在优化为none的状况下出来一个可用版别,然后再渐渐加其他代码,否则后边自己死的很丑陋!