關(guān)于STM32單片機(jī)采用CH340串口燒寫程序的細(xì)節(jié)

針對(duì)STM32系列單片機(jī),大家一般采用STLink和Jlink來(lái)下載程序,這里我們?cè)囈幌翪H340 USB轉(zhuǎn)串口芯片的下載方法,主要是將Boot電平設(shè)置好。
采用:STM32F103C6T6芯片microUSB 接口連上電腦,com3端口
環(huán)境:Win10,提前安裝好CH340/341系列的驅(qū)動(dòng)

針對(duì)BOOT0和BOOT1的不同接線方式(高電平,低電平,不接線),開發(fā)板的下載情況分析如下圖:(“x”代表不接線,“√”代表能成功下載)

Boot接線方式

image.png

首先對(duì)BOOT0與BOOT1如何連接及連接方式介紹一下。

STM32 單片機(jī)的BOOT0 和BOOT1 應(yīng)用原理
STM32 三種啟動(dòng)模式對(duì)應(yīng)的存儲(chǔ)介質(zhì)均是芯片內(nèi)置的,它們是:
1)主閃存存儲(chǔ)器= 芯片內(nèi)置的Flash。這也是正常工作模式
2)SRAM = 芯片內(nèi)置的RAM 區(qū),就是內(nèi)存啦。
3)系統(tǒng)存儲(chǔ)器= 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時(shí)在這個(gè)區(qū)域預(yù)置了一段Bootloader,就是通常說(shuō)
的ISP 程序。這個(gè)區(qū)域的內(nèi)容在芯片出廠后沒(méi)有人能夠修改或擦除,即它是一個(gè)ROM 區(qū)。
在每個(gè)STM32 的芯片上都有兩個(gè)管腳BOOT0 和BOOT1,這兩個(gè)管腳在芯片復(fù)位時(shí)的電平狀態(tài)決定了芯片復(fù)
一般不使用內(nèi)置SRAM 啟動(dòng)(BOOT1=1 BOOT0=1),因?yàn)镾RAM 掉電后數(shù)據(jù)就丟失。
一般BOOT0 和BOOT1 跳線都跳到0(地)。只是在ISP 下載的情況下,BOOT0=1,BOOT1=0 ,下載完成后,把BOOT0 的跳線接回0,也即BOOT0=0,BOOT1=0 ,也可以不用更改
我們?cè)谶@里采用CH340串口燒寫下載程序,BOOT0和BOOT1分別設(shè)置為1和0,下載后可直接運(yùn)行,但復(fù)位后代碼不執(zhí)行,可以在調(diào)試過(guò)程中,不用頻繁更改boot電平
注意:如果JTAG 相關(guān)的引腳被用作普通IO,將無(wú)法下載(BOOT0 為低電平的情況下)。解決辦法是用串口下載一次程序后再用JLINK 下載,或者將BOOT0 配置成高電平后下載。

Keil5中代碼STM32單片機(jī)C語(yǔ)言代碼如下:


Keil5代碼情況

編譯好后,在FlyMcu軟件進(jìn)行下載:
將Boot電平設(shè)置好,
選好要下載的.hex文件,設(shè)置為STMISP
DTR的低電平復(fù)位,RTS高電平進(jìn)BootLoader
點(diǎn)擊開始編程,結(jié)果如下圖:

FlyMcu軟件下載界面

耗時(shí)1.5s左右,寫入1kb,下載完后,可看到STM 32 單片機(jī)開始執(zhí)行程序,小燈開始閃爍(5mm黃色發(fā)光二極管,插在面包板上,正極(白色公專轉(zhuǎn)母杜邦線)接A0引腳,負(fù)極接GND引腳(黑色公專轉(zhuǎn)母杜邦線),其間串聯(lián)一個(gè)220Ω的色環(huán)電阻)
效果如下圖:


LED閃爍

參考:
STM32 單片機(jī)的BOOT0 和BOOT1使用注意事項(xiàng)
STM32 BOOT0和BOOT1對(duì)于下載程序的應(yīng)用
關(guān)于STM32單片機(jī)的兩引腳BOOT0和BOOT1的詳細(xì)說(shuō)明
STM32 ~ CH340在STM32實(shí)現(xiàn)一鍵下載電路

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容