內容簡介
這是一本介紹如何使用STM32Cube組件學習STM32微控制器的入門教材,是一個工程師自身學習STM32過程的經驗總結。全書緊緊圍繞《STM32F10xxx參考手冊》,結合STM32CubeF1軟體包提供的例程進行分析、講解、重新生成,全面、系統地介紹了STM32F103的各個功能項。這是一本教你STM32微控制器具體學習方法的教材。其先從HAL固件庫例程入手,而後結合STM32參考手冊、數據手冊、ARM Cortex-M3權威指南、Cortex-M3編程手冊等ST和ARM兩公司提供的原始資料進行深入、詳細的講解,最後,通過可視化圖形配置工具STM32CubeMX重新生成例程。該方法幾乎可以推廣於STM32微控制器的任何一款晶片,也是經驗豐富的工程師最快了解一款晶片的“獨門絕技”。
作者簡介
楊百軍,筆名老楊,曾就職於中航工業集團,主要研究微控制器、微處理器及嵌入式系統的移植與最佳化,具有豐富的感測器與檢測技術、生物識別技術、遠程無線抄表技術及鋰電池管理系統(BMS)的開發與教學經驗。
圖書目錄
基礎篇
第1章 選擇開發板
1.1 國外的開發板
1.2 國內的開發板
1.3 Nucleo-F103RB開發板
1.4 思考與練習
第2章 走近STM32
2.1 認識STM32
2.2 STM32與Cortex-M3的關係
2.3 Cortex-M3與ARM
2.4 思考與練習
第3章 認識MDK-ARM
3.1 開發工具介紹
3.2 MDK-ARM的安裝與註冊
3.2.1 MDK-ARM的安裝
3.2.2 註冊MDK-ARM
3.3 從例程入手
3.3.1 了解MDK-ARM
3.3.2 例程Blinky
3.4 思考與練習
第4章 初識STM32Cube
4.1 STM32CubeMX
4.2 STM32Cube軟體包
4.3 STM32CubeF1實例
4.4 思考與練習
入門篇
第5章 跑馬燈實驗
5.1 例程GPIO_IOToggle
5.2 分析例程GPIO_IOToggle
5.2.1 解析HAL_Init函式
5.2.2 解析SystemClock_Config函式
5.2.3 解析LED2_GPIO_CLK_ENABLE函式
5.2.4 解析HAL_GPIO_Init函式
5.2.5 為何LED燈能閃爍
5.3 新建例程
5.3.1 重新創建例程
5.3.2 完善例程
5.4 思考與練習
第6章 外部中斷
6.1 例程GPIO_EXTI
6.2 分析例程
6.2.1 分析例程GPIO_EXTI
6.2.2 解析stm32f10x_it.c
6.3 移植例程
6.3.1 創建例程MyEXTI
6.3.2 外部中斷小結
6.3.3 硬體仿真
6.4 思考與練習
第7章 串口通信USART
7.1 有關USART
7.2 例程UART_Printf
7.2.1 使用例程
7.2.2 新建例程MyPrintf
7.2.3 分析例程
7.3 例程ComPolling
7.3.1 例程介紹
7.3.2 分析例程
7.3.3 重建例程
7.4 例程UART_TwoBoards_ComIT
7.4.1 例程介紹
7.4.2 分析例程
7.4.3 重新生成例程
7.4.4 完善工程
7.5 思考與練習
第8章 DMA控制器
8.1 認識DMA控制器
8.2 例程UART_HyperTerminal_DMA
8.2.1 例程介紹
8.2.2 分析例程
8.2.3 重建例程UART_HyperTerminal_DMA
8.3 思考與練習
第9章完美定時器
9.1 了解定時器
9.2 例程TIM_TimeBase
9.2.1 例程介紹
9.2.2 分析例程
9.2.3 重建例程
9.3 例程TIM_DMA
9.3.1 例程介紹
9.3.2 分析例程
9.3.3 重新生成例程
9.4 思考與練習
第10章 模數轉換ADC
10.1 模數轉換器ADC
10.2 例程ADC_Sequencer
10.2.1 例程介紹
10.2.2 分析例程
10.2.3 重建例程
10.3 思考與練習
提高篇
第11章 實時作業系統FreeRTOS
11.1 了解作業系統
11.2 例程FreeRTOS_ThreadCreation
11.2.1 例程介紹
11.2.2 分析例程
11.2.3 重建例程
11.2.4 完善例程
11.2.5 擴展例程
11.3 思考與練習
附錄
附錄A 中容量STMF103xB模組框圖
附錄B 中容量STMF103xB時鐘樹
附錄C STMF103xB存儲器映像
附錄D 圖書資料、網站、開發板推薦
參考文獻