STM8 仿真跑飞 swim comm timeout

时间:2022-09-18 21:13:22

【转载注明出处:blog.csdn.net/lanmanck】

跑飞原因就很多了,我说说程序没问题,莫名其妙跑飞的情况。

为啥说程序没问题呢?首先是编译通过啦,其次我们也正确的配置寄存器了,但是还跑飞了,蛋疼。

特别是相对于STM8S103F3这些只有少的可怜的8K存储空间的单片机,真是蛋疼啊,好了不废话了,据我的经验总结一下:

用IAR平台,COSMIC的很烂,劝君莫用。

1、debug模式优化设置为none,此种情况下编译并运行还跑飞的话,可能是Option byte设置问题。比如你用了TIM2_CH1的PWM功能,但是你的Option byte没设置,那么跑起来会飞掉(我第一次遇到这么奇葩的单片机)

2、如果程序真的很大,要把优化设置为middle,那么就要小心了。IAR的优化有点小问题,虽然middle能编译通过,但是下载下去有可能是跑飞的,这个要特别小心。解决方法是优化代码,并尽可能在优化为none的情况下出来一个可用版本,然后再慢慢加其他代码,不然后面自己死的很难看!