新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32單片機(jī)串口一鍵下載電路與操作方法詳解

STM32單片機(jī)串口一鍵下載電路與操作方法詳解

作者: 時間:2018-08-01 來源:網(wǎng)絡(luò) 收藏

在此介紹STM32串口一鍵下載電路與操作方法詳解。

本文引用地址:http://butianyuan.cn/article/201808/384877.htm

STM32三種啟動模式對應(yīng)的存儲介質(zhì)均是芯片內(nèi)置的,它們是:

1)用戶閃存 = 芯片內(nèi)置的Flash。

2)SRAM = 芯片內(nèi)置的RAM區(qū),就是內(nèi)存啦。

3)系統(tǒng)存儲器 = 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時在這個區(qū)域預(yù)置了一段Bootloader,就是通常說的ISP程序。這個區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM區(qū)。

要了解STM32的幾種啟動模式.

BOOT0接GND,BOOT1接GND.那就是正常的啟動模式,從flash加載代碼.

而BOOT0接V3.3,BOOT1接GND.則是ISP模式,也就是串口更新代碼.

其次,你要了解STM32 ISP下載代碼的過程.

首先BOOT0接V3.3,然后復(fù)位STM32.STM32就會加載ISP代碼(固化存儲在內(nèi)部),從而進(jìn)入ISP模式.此時便可以通過串口下載程序了.

最后再來看看一鍵下載是怎么實現(xiàn)的呢?

從原理圖可知:DB9串口的RTS控制BOOT0,DTR控制RST.

我們要達(dá)到下載的目的,就必須先讓RTS拉高BOOT0(設(shè)置BOOT0為1),然后再讓DTR控制RST為低(STM32為低電平復(fù)位).然后再釋放RTS為高(停止復(fù)位),然后再開始串口下載代碼(此時BOOT0可以為高,也可以為低).

所以我們看到mcuisp連接過程是:

DTR電平置高(3-12V),復(fù)位(DTR接了RST)

RTS置低(-3--12V),選擇進(jìn)入BootLoader(RTS接了BOOT0)

...延時100毫秒

RTS電平變高(+3-+12V)釋放復(fù)位(釋放復(fù)位,但是此時BOOT0為高,所以進(jìn)入ISP模式)

開始連接...4, 接收到:1F (連接成功)

在串口COM0連接成功@230400bps,耗時437毫秒

DTR維持高

【需要注意的是 DTR_N是DTR的反相電平 RTS_N是RTS的反相電平】

注:此電路不需要USB轉(zhuǎn)串口芯片,只要一個普通的DB9串口就可以完成程序下載工作。對于那些只有串口的控制板無疑是一個完美的選擇。

  • STM32中文官網(wǎng)
  • STM32單片機(jī)官方開發(fā)工具
  • STM32單片機(jī)參考設(shè)計


關(guān)鍵詞: 單片機(jī)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉