插上電之后,顯示無(wú)法識(shí)別,枚舉不通過(guò)…… 看了電源指示燈后,發(fā)現(xiàn)插上那一刻,電源指示燈出現(xiàn)閃爍,估計(jì)是電源芯片燒了,如果只是如此還好,魚鷹有備用的芯片,拆了換上就好,就怕主控 C8T6 芯片燒了,那就很麻煩了。 還好魚鷹有一塊 ST 官方開(kāi)發(fā)板,內(nèi)置 ST-link ,可以應(yīng)應(yīng)急,不然就耽誤事了。 所以,有備用調(diào)試器和開(kāi)發(fā)板是非常有必要的。
(左數(shù)第二個(gè)引腳為 SWO,第四為 CLK) PB3 怎么就把 ST-LINK 燒了呢?這是一個(gè)悲傷的故事,請(qǐng)聽(tīng)魚鷹慢慢道來(lái)。 因?yàn)樾枰褂?PB3 引腳作為中斷,所以魚鷹對(duì)它做了初始化,但是發(fā)現(xiàn)在另一塊板子(這塊板子不用這個(gè)引腳)能正常進(jìn)入中斷的,到了這個(gè)新板子就不行了,主控都是一樣的,所以懷疑這是一個(gè)特殊引腳。 魚鷹趕緊百度了一下,果然,PB3 作為 J-TAG 的特殊輸出引腳 JTDO。
魚鷹趕緊把以前寫的禁止該引腳的代碼拷過(guò)來(lái)實(shí)驗(yàn)一下,發(fā)現(xiàn)根本不管用,這個(gè)代碼可是魚鷹大二時(shí)候就測(cè)試過(guò)驗(yàn)證的啊,不應(yīng)該的。
然后上網(wǎng)搜了一下,發(fā)現(xiàn)網(wǎng)上的答案也是一樣的,這就奇怪了。 魚鷹不信邪,直接深入這個(gè)這個(gè)重映射函數(shù)里面,發(fā)現(xiàn)設(shè)置根本就不對(duì):
魚鷹再次用代碼嘗試控制電平狀態(tài),還是不行…… 見(jiàn)鬼,難道說(shuō)這個(gè)窗口顯示的電平狀態(tài)在這個(gè)引腳不管用,IDR 寄存器沒(méi)有實(shí)時(shí)反映電平? 為了驗(yàn)證這個(gè)問(wèn)題,魚鷹直接用邏輯分析儀確定,然后魚鷹就悲劇了…… 因?yàn)轸~鷹的粗心,插錯(cuò)了引腳,導(dǎo)致短路了…… 魚鷹頓時(shí)心態(tài)崩了,本來(lái)就因?yàn)檫@個(gè)引腳的問(wèn)題,導(dǎo)致心煩意亂,現(xiàn)在還把它給燒掉了,掉了,了…… 魚鷹就這么一個(gè)寶貴的 LINK,還特地用熱縮管保護(hù)好,外面還有太上老君的“急急如律令”符紙鎮(zhèn)壓,生怕磕磕碰碰把它給燒了,誰(shuí)知道還是改不了這個(gè)命運(yùn)啊。
誰(shuí)叫魚鷹當(dāng)初在焊接這個(gè)板子的時(shí)候,找不到自恢復(fù)保險(xiǎn)絲,直接焊上了鐵絲,所以悲劇了。
多少次,每次接反了引腳,都以為它要燒了,但依舊堅(jiān)挺著,可這次咋沒(méi)挺過(guò)來(lái)呢,默哀三分鐘……
這個(gè)問(wèn)題一直沒(méi)想通,直到吃完飯?jiān)僬垓v的時(shí)候,意外的發(fā)現(xiàn)了一個(gè)地方:
當(dāng)初魚鷹在建立 uCOS II?模板時(shí),直接把這個(gè)勾選了,而魚鷹知道,這個(gè)功能和?ITM?有關(guān)(STM32 調(diào)試?yán)髦?ITM),和?PB3?有關(guān),然后魚鷹好像突然就開(kāi)悟了。
對(duì),就是它搞得鬼,等我把這個(gè)勾選去掉之后,一切回到了本來(lái)的樣子,引腳窗口沒(méi)問(wèn)題,直接修改控制也沒(méi)問(wèn)題,一切都正常了,世界終于清靜了。
還好,魚鷹沒(méi)見(jiàn)到鬼,只是有人搗亂而已。