stm32用什麼線燒程序
首先你要弄清楚一點的就是,C 語言程序最終都需要通過一個叫編譯器的東西轉化為彙編語言,C 語言能跨平台的原因也在此。當你用 C 語言寫好你的程序之後,如果你想把它運行在 51 單片機中,那麼你就要通過具備 51 內核編譯能力的編譯器去編譯成 51 彙編代碼,這樣你的代碼才能正確運行,而如果你要運行在 STM32 中,那就需要 ARM 內核編譯器去編譯了。
說回如何燒寫的問題。目前我知道有兩種常用下載方式:1、串口 2、調試器。
首先說下簡單的串口下載,據我所知,這是所有 STM32 單片機都具備的下載方式。它的下載方式很簡單,就是通過一個軟件,比如 mcuisp.exe,將類似 bin、hex 這樣編譯好的文件通過串口的方式將數據傳輸至 STM32 中 (掉電不丟失),然後再執行你的代碼。優點是隻要有一個串口和下載軟件就能下載了,缺點是下載速度慢,並且不能在線調試。
在這裏簡單說一下 STM32 串口下載的原理。STM32 在生產的時候會首先燒錄一段程序,可以稱它為 Bootloader 程序,這個程序在一般情況下是不會運行的,需要通過設置一些引腳(BOOTx)的狀態去激活它。一旦這段代碼運行起來了,就會一直檢測其中一個串口的狀態信息,一旦識別到了需要下載的條件,就會按照它自己的通信協議完成數據的傳輸,最終將整個文件代碼保存在單片機裏麵。下載完畢之後,你需要讓它退出這種模式,讓它回到正常的程序運行狀態才能執行你剛才下載好的程序(還是通過設置 BOOTx 引腳的狀態)。
現在說下第二種下載方式,下載器。
下載器的類型有很多,有 J-LINK, ST-LINK,CMSIS、ULINK等等,看 MDK 中的下載列表就知道了。
相當豐富。使用調試器下載最大的好處就是可以在線調試,實時觀察程序的運行情況和數據變化,相當不錯。
調試器下載的方式也是有很多種,比如像上麵的,直接通過 MDK 集成軟件下載,很方便。這種方式下載的是
.axf
文件類型(注意,可以通過 MDK 下載到 RAM 中也可以下載 FLASH 中,下載到 RAM 中掉電後代碼是會消失的)。
還有就是通過專業的下載工具下載,比如 ST-LINK Utility(利用 ST-LINK下載器下載),這種下載工具下載的文件類型就比較豐富了,可以是
.bin
或者
.hex
等(這些文件類型可以由 MDK 軟件直接生成),也是很方便的。當然這些下載工具不具備在線調試的功能就是了。
其實除了上麵兩種常見的下載方式,有些類型的 STM32 單片機還集成了 CAN、USB 等下載方式
stm32單片機怎麼學?如何學好stm32單片機 | |
無論是學習8位單片機還是32位單片機,正確的學習方式和心態都很重要。我有幾條建議: 1、學習單片機沒想象的那麼難,不要給自己太大的心理壓力。如果覺得32位單片機入門難度比較大話,可以從8位的51單片機入手。把8位單片機的IO操作、定時器、中斷、串口等功... |
新手入門可以直接學單片機STM32嗎 | |
主要還是要看個人的相關基礎情況,如果具有一定的硬件基礎,並且對C語言比較熟悉,對結構體,函數等的運用比較熟悉,直接學習STM32入門,還是可以的,可以直接從庫函數開始,從簡單的應用程序學習。可以買一塊開發板,一般會配有學習視頻,也會提供源碼,可... |
stm32單片機可以跟電腦通訊嗎 | |
STM32和計算機是可以通訊的,可以借助STM32的不同外設,有著不同的方式和計算機進行通訊。可以使用STM32的串口,借助232或485或像CH340這種電平轉換芯片和計算機進行通訊,計算機端對應采用USB轉串口模塊,USB轉485模塊,USB接口等進行通訊。也可以使用STM32... |
自學單片機數電模電電路沒學stm32需要搞懂 | |
如果學習過51單片機,能夠深入理解其硬件結構,並對寄存器有深入的理解,能夠利用單片機完成一些小製作,編寫過些程序代碼,能夠解決開發過程中的問題,對接口電路有熟悉,對相關接口芯片的時序有一定的認識。再學習STM32難度並不是很大的,個人還是建議學習... |
c語言模電數電沒學可以直接學stm32單片機嗎 | |
個人覺得還是要掌握一點基礎知識才能開始學。從硬件和軟件兩個方麵來說,首先硬件方麵,學單片機要懂基本的電子方麵的知識,數電和模電是最基礎的,一般搞嵌入式的都要能看得懂原理圖,需要知道自己的輸入、輸入分別是什麼,這就牽涉到一些比如GPIO、UART、I... |
- 單片機和嵌入式哪個好
- 單片機重要特性含義解讀
- 單片機三總線結構及時序分析
- 單片機沒有PWM外設也可以做可調占空比
- 開源硬件arduino是什麼
- 標誌寄存器中的狀態標誌和控製標誌
- at89c51和stc12c5a60s2的引腳的區別
- 學習51單片機要用到哪些硬件工具
- 單片機定時的時間怎麼改變
- 單片機自動斷電或關機電路圖講解
- 串口的波特率如何計算?串口通信波特率計
- 單片機波特率計算公式和方法
- 51單片機ram區域劃分
- spi時序圖怎麼看?spi時序圖閱讀方法
- 51單片機怎麼顯示出數字的?單片機數碼管
- 51單片機有幾個中斷源_52單片機中斷源
- 嵌入式係統的評價方法
- AT89C51單片機為核心的時鍾電路的程序設
- stm32學到什麼程度叫精通
- 用STM32隻會庫函數不會用寄存器有影響嗎