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

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

那就大概找到以前的下載失敗的問(wèn)題了,是買(mǎi)的USB轉(zhuǎn)TTL模塊的問(wèn)題。查閱了下說(shuō)明文檔,我這個(gè)下載器是支持STC全系列的免冷啟動(dòng)的,如下圖
 全名:5代STC全系列單片機(jī)自動(dòng)編程器免冷啟動(dòng)下載USB轉(zhuǎn)TTL


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

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


好了,希望猿一的踩坑經(jīng)驗(yàn)?zāi)軒椭侥?/font>
|