本書總共分為3篇: 第1篇為基礎篇, 主要介紹STM32F103的基礎入門知識, 包括STM32F103介紹、軟件安裝、新建工程、時鐘系統(tǒng)介紹、SYSTEM文件夾介紹等; 第2篇為入門篇, 主要介紹STM32F103常用外設的使用, 包括GPIO、定時器、AD/DA、DMA、觸摸液晶屏等; 第3篇為提高篇, 主要介紹STM32F103較難一點外設的使用及一些高級例程, 包括USB、內存管理、文件系統(tǒng)、圖片解碼、OS入門等。
暢銷書再版,強烈推薦;
配套資源豐富,讀者可以免費獲;
互動靈活,方便讀者答疑解惑!
劉軍,網(wǎng)名正點原子,畢業(yè)于華南理工大學,現(xiàn)任廣州星翼電子科技有限公司技術總監(jiān),長期活躍在國內嵌入式開發(fā)和開發(fā)板領域。創(chuàng)業(yè)至今推出了多款行業(yè)熱門的開發(fā)板,包括戰(zhàn)艦、精英、Mini、探索者以及阿波羅等。此外,還出版了《精通STM32F4》、《原子教你玩STM32》、《例說STM32》和《FreeRTOS源碼詳解與應用開發(fā)》等10余本專業(yè)著作,不僅深受廣大讀者的喜愛,更是獲得了ST官方認可。原子哥本人授課風趣幽默,對嵌入式教育有自己的見解,創(chuàng)立正點原子以來,將STM32的學習理念和龐大的知識體系帶給了廣大的學子和STM32的開發(fā)者,對嵌入式教育貢獻巨大。
第1篇 基礎篇
第1章 本書學習方法 2
第2章 STM32簡介 8
2.1 初識STM32 8
2.2 STM32F103資源簡介 9
2.3 STM32F103設計選型 10
2.3.1 STM32系列 10
2.3.2 STM32命名 11
2.3.3 STM32選型 12
2.3.4 STM32設計 12
第3章 開發(fā)環(huán)境搭建 17
3.1 常用開發(fā)工具簡介 17
3.2 MDK安裝 18
3.3 仿真器驅動安裝 19
3.4 CH340 USB虛擬串口驅動安裝 19
第4章 STM32初體驗 21
4.1 使用 MDK5編譯例程 21
4.2 使用串口下載程序 24
4.3 使用DAP下載與調試程序 28
4.3.1 使用DAP下載程序 29
4.3.2 使用DAP仿真調試程序 32
4.3.3 仿真調試注意事項 37
4.4 MDK5使用技巧 38
4.4.1 文本美化 38
4.4.2 語法檢測 & 代碼提示 41
4.4.3 代碼編輯技巧 42
4.4.4 其他小技巧 47
第5章 STM32基礎知識入門 49
5.1 寄存器基礎知識 49
5.2 STM32F103系統(tǒng)架構 50
5.2.1 Cortex-M3內核 & 芯片 50
5.2.2 STM32系統(tǒng)架構 50
5.2.3 存儲器映射 53
5.2.4 寄存器映射 56
第6章 認識HAL庫 61
6.1 初識STM32 HAL庫 61
6.1.1 CMSIS標準 61
6.1.2 HAL庫簡介 62
6.1.3 HAL庫能做什么 65
6.2 HAL庫驅動包 66
6.2.1 如何獲得HAL庫固件包 66
6.2.2 STM32Cube固件包分析 66
6.2.3 CMSIS文件夾關鍵文件 69
6.2.4 stdint.h簡介 72
6.3 HAL庫框架結構 72
6.3.1 HAL庫文件夾結構 72
6.3.2 HAL庫文件 73
6.4 如何使用 HAL庫 77
6.4.1 學會用 HAL庫組織開發(fā)工具鏈 77
6.4.2 HAL庫的用戶配置文件 78
6.4.3 stm32f1xx_hal.c文件 81
6.4.4 HAL庫中斷處理 85
6.4.5 正點原子對 HAL庫用法的個性化修改 85
6.5 HAL庫使用注意事項 86
第7章 新建HAL庫版本 MDK工程 87
7.1 新建 HAL庫版本 MDK工程簡介 87
7.1.1 新建工程文件夾 87
7.1.2 新建一個工程框架 91
7.1.3 添加文件 94
7.1.4 魔術棒設置 100
7.1.5 添加 main.c并編寫代碼 105
7.2 下載驗證 108
第8章 STM32啟動過程分析 109
8.1 啟動模式 109
8.2 啟動文件分析 111
8.2.1 啟動文件中的一些指令 111
8.2.2 啟動文件代碼講解 112
8.2.3 系統(tǒng)啟動流程 119
8.3 map文件分析 120
8.3.1 MDK編譯生成文件 120
8.3.2 map文件分析簡介 122
第9章 STM32時鐘配置 127
9.1 認識時鐘樹 127
9.1.1 時鐘源 129
9.1.2 鎖相環(huán)PLL 129
9.1.3 系統(tǒng)時鐘SYSCLK 130
9.1.4 時鐘信號輸出 MCO 133
9.2 如何修改主頻 133
9.2.1 STM32F1時鐘系統(tǒng)配置 133
9.2.2 STM32F1時鐘使能和配置 138
第10章 SYSTEM 文件夾 140
10.1 delay文件夾代碼 140
10.1.1 操作系統(tǒng)支持宏定義及相關函數(shù) 141
10.1.2 delay_init函數(shù) 143
10.1.3 delay_us函數(shù) 145
10.1.4 delay_ms函數(shù) 146
10.1.5 HAL庫延時函數(shù) HAL_Delay 147
10.2 sys文件夾代碼 148
10.3 usart文件夾代碼 __________148
第2篇 入門篇
第11章 跑馬燈實驗 152
第12章 按鍵輸入實驗 169
第13章 外部中斷實驗 176
第14章 串口通信實驗 189
第15章 獨立看門狗(IWDG)實驗 212
第16章 基本定時器實驗 219
第17章 通用定時器實驗 230
第18章 TFTLCD(MCU屏)實驗 249
第19章 USMART調試組件實驗 272
第20章 RTC實時時鐘實驗 282
第21章 低功耗實驗 298
第22章 DMA實驗 307
第23章 ADC實驗 320
第24章 DAC實驗 341
第25章 I2C實驗 354
第26章 SPI實驗 373
第3篇 提高篇
第27章 內存管理實驗 397
第28章 SD卡實驗 405
第29章 FATFS實驗 420
第30章 漢字顯示實驗 439
第31章 串口IAP實驗 459
參考文獻 473