1、檢查相關配置是否正确
确定接線沒有問題:Vcc 接 Vcc
GND 接 GND
SWCLK 接 SWCLK
SWDIO 接 SWDIO
首先,確定電腦的CH驅動已經安裝成功且正常運作。判斷方法:
點選裝置管理器,打開
檢視驅動器是否已經檢測出來正常運作。也可以選中右擊,更新一下驅動器。
如果沒有驅動器,那麼小夥伴們要自己去下載下傳一下ST-Link的驅動器了。
如果目前沒有問題,但是問題還是沒有解決,那麼繼續往下看。
進入Keil開發軟體中檢視配置
打開Keil, 點選該圖示檢視配置。
首先确定對應的debugger有沒有改到了你所使用的下載下傳器。改好了就可以重新編譯嘗試下載下傳。如果沒有成功,繼續往下看。
點選Settings進入下載下傳器配置頁面。
1. 檢查你的下載下傳器是否被Keil檢測到,2.你的下載下傳模式是否為SW模式(有的小夥伴可能使用的是JATG)3.檢查所連接配接的裝置是否連接配接正常(SWDIO是否被正常檢測)(如果你已經進行了一次下載下傳而且還是失敗的,那麼也可能是報錯的,這個不用管)
到這裡,如果有問題,把頁面叉掉,将下載下傳器拔掉重新插上,再次檢視。
重新編譯下載下傳還是報錯的話,繼續往下看。
2、嘗試下載下傳的方法
1、将該處改為with Pre-reset,再次編譯下載下傳,如果還是不成功,繼續往下看。
1、(按照我說的來)按住複位鍵,點選綠色的LOAD按鈕,看到ST-LINK信号燈交替閃爍,持續1秒鐘左右松開,一般可以下載下傳成功(把握不好的小夥伴可以多試幾次)
如果這種方式你成功了,但是你接下不再按複位鍵,下載下傳還是會失敗,那麼就會有接下來的問題了。
3、檢查程式編寫有沒有警告(特别是報錯未定義或者無法識别的的對象(這裡的報錯不在編譯報告欄中顯示,但是在程式中有感歎号和叉号),但是編譯卻沒有報錯)
對于這種情況,大機率是你沒有把相應的庫檔案#include進去,把相應的庫檔案包含進去,再次編譯,下載下傳。這裡一般就會成功了!!!
如果還是不成功,建議換個下載下傳器,或者換個開發闆嘗試一下下載下傳,試驗一下,看看硬體有沒有出問題。
最後,最重要的,以上的問題都是在編譯沒有報錯,但是下載下傳時報錯。
報錯理由:1、internal commend error
2、st-link communication error
等等報錯,就是不給下載下傳。
4、也希望老牛的建議呢,能為小夥伴們提供一些幫助,解決一下這令人胸悶氣短,要死不活的麻煩事。
老牛的面向對象還是新手小白,後續也會開發一些簡單有趣的項目,記得關注老牛噢~