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