STM32無(wú)法使用IAR下載程序問(wèn)題
一開(kāi)始建立了工程,然后程序下載都很正常。不知道什么情況自己下載代碼之后,再重新下載代碼無(wú)法成功。
我按照提示找了一下FlashStm32f30x8.flash這個(gè)文件,卻發(fā)現(xiàn)IAR的目錄下沒(méi)并沒(méi)有。又懷疑是IAR文件丟失。
重新安裝IAR,卻發(fā)現(xiàn)問(wèn)題仍然繼續(xù). ~~~~感覺(jué)像是芯片壞了~~~
于是通過(guò)STVP工具,讀取一下。 奇跡發(fā)生了,竟然可以讀取程序。 嗯~~那可以排除芯片的問(wèn)題。
好吧,那我重新用IAR下載應(yīng)該可以吧。 于是重新下載程序, 暈~~~居然還是彈出那個(gè)錯(cuò)誤。
難道自己的程序竟然會(huì)引起這樣的錯(cuò)誤???
?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。?/p>
于是通過(guò)STVP將FLASH全部清空,再用IAR下載調(diào)試。嗯~~~成功了....
既然成功了,那就用F5全速跑一下吧。 暈,程序跑飛了。。。。。。。。。。
此時(shí),我再用IAR下載時(shí)候,發(fā)現(xiàn)又彈出剛開(kāi)始的錯(cuò)誤了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再通過(guò)STVP將FLASH全部清空,再用IAR下載調(diào)試,一步一步調(diào)試。發(fā)現(xiàn)程序跑到ST官方的庫(kù)文件里面就出不來(lái)了。
繼續(xù)跟蹤,原來(lái)庫(kù)在GPIO_OType參數(shù)的時(shí)候,沒(méi)有判斷值,直接就賦值給變量了.我的代碼中確實(shí)沒(méi)有對(duì)GPIO_OType變量進(jìn)行賦值,因?yàn)楦杏X(jué)該口作用串口的輸入輸出應(yīng)該不需要賦值.
后面對(duì)該值賦值后,問(wèn)題再也沒(méi)有重現(xiàn)了.
代碼如下:
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9,GPIO_AF_7);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_7);//TXPINGPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;GPIO_Init(GPIOA,&GPIO_InitStructure);//RXPINGPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure.GPIO_OType=GPIO_OType_OD;GPIO_Init(GPIOA,&GPIO_InitStructure);
看來(lái)庫(kù),還是得小心使用,否則出問(wèn)題的時(shí)候.查死你啦~~~