1.stm32庫開發是什麼?
st公司推出的基於cortex-m3核心的mcu(微控制器,也就是通常所說的微控制器)倡導使用韌體庫開發,僅通過呼叫庫裡面的api(應用程式介面)就可以迅速搭建乙個程式,寫出各種使用者需要的應用。庫開發方式自頂向下,可以避免對底層暫存器的繁瑣操作,能大大降低學習門檻和開發周期
2.推薦書目和軟體開發環境
書目推薦《stm32庫開發實戰指南》,軟體開發環境推薦keil mdk4.21, 在學習的過程中,將書中的原理分析和**講解掌握之後,別忘了在開發平台上進行實戰運用,體驗高效的庫開發方法~
3.知識結構
3.1 stm32的gpio
書中的流水燈例程和按鍵實驗
控制led燈,由gpio外設來實現i/o引腳的高低來實現。控制gpio埠,在api中查閱控制相關暫存器的庫函式。
對於gpio的功能強大,gpio的所有引腳都可以用作外部中斷源的輸入,不同的引腳還有相應的復用功能、重對映功能,以滿足應用需求。
通過按鍵工程分析gpio的模式配置,4種輸入4種輸出。
3.2 stm32的中斷和異常
exti(外部中斷),由gpio檢測輸入脈衝,引起中斷事件打斷**執行流程,進入到中斷服務函式中處理,處理完成後再返回到中斷之前的**中執行。
為了對於中斷的管理,中斷向量表和nvic中斷控制器來實現,中斷執行的操作由使用者完成。值得注意這裡配置gpio功能時要開啟afio埠復用功能。
3.3 非同步串列埠通訊
usart串列埠通訊實現了在程式執行過程中,中間變數或者其他程式狀態資訊的獲取。
了解非同步串列埠通訊協議來設定引數,串列埠外設的工作過程:波特率控制、收發控制和資料儲存轉移。將串列埠獲得的資訊列印出來顯示在計算機上,需要將printf()函式重定向進行輸出。
3.5 dma功能
dma來完成資料儲存達到減輕cpu工作量,之間包含中斷控制、串列埠通訊等運用
3.6 stm32的adc實驗
關注adc的技術指標和電壓值的計算
3.7 stm32定時器
通用定時器的工作分析,pwm輸出過程的分析、占空比的配置。
3.8 i2c介面
i2c協議的基礎上了解其物理層、協議層的原理。
4.學習心得
從微控制器的系統結構:cpu(核心)、外設、記憶體(sram)、匯流排等結構開始理解,在掌握上邊內容的時候,注意有意識的建立乙個整體的結構,真正體會stm32韌體庫的實現原理。
位址對映,時鐘系統,韌體庫對暫存器的封裝
通過學習,了解外設對應的暫存器、初始化結構體、資料的輸入與輸出、外設工作狀態有關的狀態位標誌位、外設函式呼叫操作完成後標誌位的清除。因此,所有驅動程式實際上都是向各種結構體成員寫入適當的控制引數,填充結構體,驅動開發就基本完成了。
把握整體架構和實現原理,這也是技術人員學習過程中的重要方面。
STM32微控制器搭建開發環境
今天我們基於stm32f103c8t6這款muc搭建開發環境。加壓後,資料夾裡各檔案如下圖 二 安裝mdk及工程檔案 建立乙個工程,選擇相應的mcu,在該工程中建立對應的目錄 另外,在路勁project stm32f10x stdperiph template處將以下三個檔案拷貝到工程目錄裡面,否則...
微控制器學習(一) 微控制器基礎 STM32
io四種輸入工作模式 io四種輸出工作模 stm32有8個16位定時器 stm32具有強大的異常響應系統,它把能夠打斷當前 執行流程的事件分為異常 exception 和中斷 interrupt 並把它們用乙個表管理起來,編號為 3 6的中斷向量定義為系統異常,編號從7到19的為外部中斷。中斷向量控...
stm32mcuid規則 STM32微控制器命名規則
stm32 系列微控制器命名規則 stm32 f 103 c 8 t 6 1 2 3 4 5 6 7 8 產品系列名 固定為 stm32 和 產品系列 f 通用系列 0xx 入門級 mcu0x0 超值系列在傳統 位和位市場極具競爭力 0x1 實現了高度的功能整合,提供多種儲存容量和封裝的選擇,為成本...