STM8 仿真跑飛 swim comm timeout
為啥說(shuō)程序沒(méi)問(wèn)題呢?首先是編譯通過(guò)啦,其次我們也正確的配置寄存器了,但是還跑飛了,蛋疼。
本文引用地址:http://dyxdggzs.com/article/201611/317108.htm特別是相對于STM8S103F3這些只有少的可憐的8K存儲空間的單片機,真是蛋疼啊,好了不廢話(huà)了,據我的經(jīng)驗總結一下:
用IAR平臺,COSMIC的很爛,勸君莫用。
1、debug模式優(yōu)化設置為none,此種情況下編譯并運行還跑飛的話(huà),可能是Option byte設置問(wèn)題。比如你用了TIM2_CH1的PWM功能,但是你的Option byte沒(méi)設置,那么跑起來(lái)會(huì )飛掉(我第一次遇到這么奇葩的單片機)
2、如果程序真的很大,要把優(yōu)化設置為middle,那么就要小心了。IAR的優(yōu)化有點(diǎn)小問(wèn)題,雖然middle能編譯通過(guò),但是下載下去有可能是跑飛的,這個(gè)要特別小心。解決方法是優(yōu)化代碼,并盡可能在優(yōu)化為none的情況下出來(lái)一個(gè)可用版本,然后再慢慢加其他代碼,不然后面自己死的很難看!
評論