關于flyMcu給STM32串口燒錄失敗中間的過程及自己踩坑和總結
芯片:CKS32F103C8T6的最小系統板,中科芯的
現象:FlyMcu點擊開始編程后,就會一直出于開始連接、連接超時、芯片無應答等情況 一、FlyMcu設置、BOOT0及BooT1設置問題首先:設置BOOT0=1,BOOT1=0為燒錄模式;
然后我以為是我的FlyMcu設置出現了問題,然后開始檢查、查閱百度資料,按照百度來的設置還是始終不行,如圖所示;嘗試了網上的很多方法始終無解。
 二、芯片本身問題開始懷疑是不是芯片出問題了,(百度說的CKS和STM的F1系列完全兼容)然后就換了個方式下載,用ST-Link去接SWD接口調試下載,驗證成功下載,實驗現象正常,如下圖,大致排除是芯片的問題了;

正好家里還有個F1ZET6的板子,拿回去測試還是一樣的結果,FlyMcu顯示開始連接、連接超時,向上面的那張圖一樣; 三、USB轉串口TTL模塊問題其次就是串口模塊的問題,這個問題為什么排在芯片本身問題后面呢?因為這個串口模塊我之前才剛剛給esp8266燒寫程序成功,并完美運行了的,所以我本身就沒怎么懷疑這個下載器模塊的問題。但是問題肯定還是需要解決的,于是我還是換上了另一個我手上同型號(完全一模一樣)的CH340模塊,更換接上測試,結果還是一樣的。后來某個地方需要用到一個Microusb轉TTL的模塊,就自己用CH340N焊了一個簡易版(方拆卸)這樣的,然后就在STM32F103ZET6測試下載,居然成功下載和運行;
(PS:在另一片文章中我會說明一下Microusb轉TTL的模塊的詳細制作說明,有興趣的可以去看看,哈哈)

那就大概找到以前的下載失敗的問題了,是買的USB轉TTL模塊的問題。查閱了下說明文檔,我這個下載器是支持STC全系列的免冷啟動的,如下圖
 全名:5代STC全系列單片機自動編程器免冷啟動下載USB轉TTL


所以,必須用普通的USB轉TTL CH340模塊才行,于是接著去測試CKS32F103C8T6板子,連接上電下載,結果現象還是一樣的開始連接。。。
那這到底是什么問題呢?BOOT模式設置正確、FlyMcu界面設置正確、自己做的CH340模塊也沒有問題、測試ZET6的demo也完全能下載成功正常運行;那么真相就只有一個,那就是出在CKS32F103C8T6這塊最小板上,所以最后又去某寶心痛的買了兩塊STM的最小系統板(STM32F103C8T6),如下圖,一塊藍色的一塊黑色的板子,到貨測試,激動人心的時刻來了,你沒有猜錯,兩塊板子(藍色和黑色的)均成功下載并運行,好了問題終得到了解決了!

后來經過多次測試,原來是CKS32F103C8T6那塊最小板按下復位鍵后根本連BootLeader都進不了,最后買的STM32F103C8T6的兩塊板子及STM32F103ZET6都能成功的進入到BootLeader,這就是本次測試所踩的一些坑及一些小心得體會! 四、 踩坑總結如下:1. 首先你肯定供電要正常,CH340的驅動需要安裝成功,這是基礎就不用多說;
2. 串口轉TTL模塊連接線確保是好的、RX與TX連接正確(C8T6:RX—A9,TX—A10;ZET6:RX—A9,TX—A10);
3. 使用串口下載前,設置為燒錄模式:BOOT0=1(高電平),BOOT1=0(低電平),下載完后,可以設置回原來那樣都接低電平。;
4. 其次再是FlyMcu設置的問題:串口、波特率(F103的不要超過115200)、左下角模式、選項字節區、編程前重裝文件、校驗及編程后執行這些選項設置;
5. 加載生成的hex文件,并勾選右邊的編程前重裝文件,這樣,就不用每次下載程序,重新加載hex文件了。
6. 如果你是用買的USB轉TTL模塊,請選用正確的模塊,不要用我買成我的STC的這種(以前剩下的)了,注意分清一下USB轉TTL模塊與STC系列的下載器;
7. 買的最小板,如果不太懂的就盡量認準STM的買,因為淘寶上一些比較便宜的最小系統開發板就是用的中科芯的MCU,但是如果你使用的是SWD接口調試下載程序這些的,就還是完全沒得問題(親測);
8. 根據實際硬件選擇“不使用RTS和DTR”或者“DTR的低電平復位,RTS高電平進BootLoader”等配置,根據實際硬件選擇即可; PS:使用FlyMcu給F103的C8T6串口下載程序,左下角的模式選擇無論是DTR低電平復位,RTS高電平進BootLeader還是DTR高電平復位,RTS高電平進BootLeader都是可行的(親測STM32F103C8T6有效),只需保證程序能進BootLeader即可燒寫。如下圖


好了,希望猿一的踩坑經驗能幫助到您!
|