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