原子教你學STM32(HAL庫版)(上)

劉軍 徐偉健 凌柱寧 馮源

買這商品的人也買了...

商品描述

原子教你學STM32(HAL庫版)》分為上、下兩冊。
本書是上冊,分為基礎篇和實戰篇,詳細介紹了STM32F103的基礎入門知識,包括STM32簡介、開發環境搭建、
新建HAL庫版本MDK工程、STM32時鐘配置以及STM32F103常用周邊的使用,包括外部中斷、定時器、DMA、內部溫度感測器等。

下冊詳細介紹了STM32F103複雜週邊裝置的使用及一些進階例程,包括觸控螢幕、無線通訊、SD卡、USB讀卡機等。
建議初學者從上冊開始,跟隨書中的結構安排,循序漸進地學習。
對於有一定基礎的讀者,可以直接選擇下冊,進入複雜週邊的學習過程。

本書配套資料包含詳細原理圖以及所有實例的完整程式碼,這些程式碼都有詳細的註解。
另外,原始碼有產生好的hex文件,讀者只需要透過模擬器下載到開發板即可看到實驗現象,親自體驗實驗過程。

本書不僅非常適合廣大學生和電子愛好者學習STM32,其大量的實驗以及詳細的解說也可供公司產品開發人員參考。

目錄大綱

第1篇基礎篇
第1章本書學習方法2
第2章STM32簡介7
2.1初識STM327
2.2STM32F103資源簡介8
2.3STM32F103設計選型9
2.3.1STM32系列9
2.3.2STM32命名10
2.3.3STM32選選型11
2.3. 4STM32設計11
第3章開發環境建置16
3.1常用開發工具簡介16
3.2MDK安裝16
3.3模擬器驅動安裝17
3.4CH340 USB虛擬串口驅動安裝18
第4章STM32初體驗19
4.1使用MDK5編譯例程19
4.2使用串列埠下載程式22
4.3使用DAP下載與調試程式26
4.3.1使用DAP下載程式27
4.3.2使用DAP模擬調試程式29
4.3.35調試注意事項34
4.4MDK5使用技巧35
4.4.1文本35仿真調試
4.4. 2語法檢測&程式碼提示38
4.4.3程式碼編輯技巧39
4.4.4其他小技巧44
第5章STM32基礎知識入門46
5.1C語言基礎知識複習46
5.2暫存器基礎知識51
5.3STM32F103系統架構52
5.3.1CortexM3內核&晶片52
5.3.2STM32系統架構53
5.3.3記憶體映射55
5.3.4暫存器映射58
第6章認識HAL庫63
6.1初識STM32 HAL庫63
6.1.1CMSIS標準63
6.1.2HAL庫簡介65
6.1.3HAL能做什麼66
6.2HAL庫驅動包67
6.2.1如何獲取HAL庫固件包67
6.2.2STM32Cube固件包分析69
6.2.3CMSIS文件夾關鍵文件71
6.2.4stdint.h簡介73
6.3HAL庫框架結構74
6.3. 1HAL庫資料夾結構74
6.3.2HAL庫文件74
6.4如何使用HAL庫78
6.4.1學會用HAL庫組織開發工具鏈78
6.4.2HAL庫的使用者設定檔80
6.4.3stm32f1xx_hal.c文件83
6.4.4.4H.中斷處理87
6.4.5正點原子對HAL庫用法的個人化修改88
6.5HAL庫使用注意事項88
第7章新建HAL庫版本MDK工程90
7.1新建HAL庫版本MDK工程簡介90
7.1.1新建工程資料夾90
7.1.2新建一個工程框架94
7.1.3新增檔案97
7.1.4魔術棒設定101
7.1.5新增main.c並編寫程式碼106
7.2下載驗證109
第8章STM32啟動流程分析110
8.1啟動模式110
8.2啟動檔案分析111
8.2.1啟動檔案中的一些指令112
8.2.2啟動檔案程式碼講解114
8.2.3系統啟動流程119
8.3map檔案分析121
8.3.1MDK編譯產生檔案121
8.3.2map檔案分析123
第9章STM32時脈配置127
9.1認識時脈樹127
9.1.1時脈來源128
9.1.2鎖相環PLL129
9.1.3系統時脈SYSCLK130
9.1.4時脈訊號輸出MCO132
9.2如何修改主頻133 9.2.13時脈訊號輸出MCO132 9.2如何修改主頻
133
9.2.133 2STM32F1時脈啟用和設定138
第10章SYSTEM資料夾140
10.1delay資料夾程式碼140
10.1.1作業系統支援巨集定義及相關函數141
10.1.2delay_init函數143
10.1.3delay_us1145
10.1.14510.1.14510.us.us
.庫延時函數HAL_Delay148
10.2sys資料夾程式碼149
10.3usart資料夾程式碼149
第2篇實戰篇
第11章跑馬燈實驗154
第12章蜂鳴器實驗171
第13章按鍵輸入實驗175
第14章外部中斷實驗183
第15章串口通訊實驗197
第16章獨立看門狗(IWDG)實驗220
第17章基本定時器實驗227
第18章通用定時器實驗238
第19章電容觸控按鍵實驗269
第20章TFTLCD(MCU螢幕)實驗277
第21章RTC實時時鐘實驗310
第22章低功耗實驗328
第23章DMA實驗338
第24章ADC實驗352
第25章內部溫度感測器實驗383
第26章光敏感測器實驗388
第27章DAC實驗393
參考文獻420