3dwoo大學簡體電腦書店
輕松玩轉STM32Cube(第2版)
( 簡體 字)
作者:楊百軍類別:1. -> 電腦組織與體系結構 -> 單晶片 -> STM32
出版社:電子工業出版社輕松玩轉STM32Cube(第2版) 3dWoo書號: 56258
詢問書籍請說出此書號!
有庫存
NT售價: 445
出版日:4/1/2023
頁數:284
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121452734 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章 選擇開發板
1.1 ST公司的STM32開發板
1.2 國產的STM32開發板
1.3 Nucleo-F103RB開發板
思考與練習
第2章 走近STM32
2.1 認識STM32
2.2 STM32與Cortex-M3的關系
2.3 Cortex-M3與ARM
思考與練習
第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
思考與練習
第4章 初識STM32Cube
4.1 STM32CubeMX
4.2 STM32Cube軟件包
4.3 STM32CubeF1軟件包的例程
思考與練習
第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 完善例程
思考與練習
第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 硬件仿真
思考與練習
第7章 串口通信
7.1 例程UART_Printf
7.1.1 使用例程
7.1.2 新建例程
7.1.3 分析例程
7.2 例程ComPolling
7.2.1 例程介紹
7.2.2 分析例程
7.2.3 重建例程
7.3 例程UART_TwoBoards_ComIT
7.3.1 例程介紹
7.3.2 分析例程
7.3.3 重建例程
7.3.4 完善例程
思考與練習
第8章 DMA控制器
8.1 認識DMA控制器
8.2 例程UART_HyperTerminal_DMA
8.2.1 例程介紹
8.2.2 分析例程
8.2.3 重建例程
思考與練習
第9章 完美定時器
9.1 例程TIM_TimeBase
9.1.1 例程介紹
9.1.2 分析例程
9.1.3 重建例程
9.2 例程TIM_DMA
9.2.1 例程介紹
9.2.2 分析例程
9.2.3 重建例程
思考與練習
第10章 模/數轉換器(ADC)
10.1 了解ADC
10.2 例程ADC_Sequencer
10.2.1 例程介紹
10.2.2 分析例程
10.2.3 重建例程
思考與練習
第11章 實時操作系統FreeRTOS
11.1 了解操作系統
11.2 例程FreeRTOS_ThreadCreation
11.2.1 例程介紹
11.2.2 分析例程
11.2.3 重建例程
11.2.4 完善例程
11.2.5 擴展例程
思考與練習
參考文獻
這是一本介紹如何使用STM32Cube組件學習STM32微控制器的入門圖書,也是一名工程師自身學習STM32微控制器的經驗總結。全書圍繞STM32F10×××參考手冊,結合STM32CubeF1軟件包提供的例程,參考Cortex-M3編程手冊等資料,全面、系統地對STM32F103的各個功能項進行分析和講解,并通過可視化圖形配置工具STM32CubeMX重新生成例程。本書介紹的學習方法幾乎可以適用于任何一款STM32微控制器的芯片。 本書適合STM32微控制器初學者和使用STM32微控制器從事項目開發的工程技術人員閱讀使用,也可以作為高等學校自動控制、智能儀器儀表、電力電子、機電一體化等相關專業的教學用書。
前些年我編寫《輕松玩轉STM32微控制器》時,就注意到ST公司開始主推STM32Cube組件,但因我自己是從標準外設固件庫(STM32F10× Standard Peripheral Library,SPL)上手的,而且當時網上有對STM32Cube組件的負面評價,所以仍選擇SPL進行講解。近年來,隨著對STM32Cube組件的深入了解,我越來越喜歡它,也慢慢習慣于利用STM32CubeMX便捷地生成C語言工程框架。
其實,對于一個新生事物,大家總要有一個從了解到熟悉的過程。學習STM32的讀者大都是從SPL入門的,許多STM32開發板提供的例程也是基于SPL的,STM32F1××系列的例程幾乎都是基于SPL的。大家可能會發現:在ST公司推出STM32Cube組件和硬件抽象層(Hardware Abstraction Layer,HAL)固件庫后,有部分公司開始為STM32F4××系列提供基于HAL固件庫的例程,而STM32F7××系列開發板的例程清一色都是基于HAL固件庫的,因為ST公司沒有推出基于該系列微控制器的SPL(至少目前尚未推出)。由此可見,學習和應用STM32微控制器,使用HAL固件庫和STM32Cube組件是大勢所趨,即使是“資深工程師”,也必須適應技術的更新。
利用圖形配置工具STM32CubeMX,開發者可以快捷地生成STM32微控制器的C語言工程框架,僅在工程中實現自己的應用代碼即可。然而,這并不是說不用學習STM32微控制器了;在配置STM32CubeMX的過程中,讀者會發現,還有很多STM32微控制器的知識點須要掌握,只有這樣才能有目的地進行配置,否則只能對著該工具“干瞪眼”。
其實,針對STM32Cube組件和STM32微控制器,ST公司提供了大量的技術資料。有關圖形配置工具STM32CubeMX和STM32CubeF1軟件包,可以重點參考的資料有:
● STM32CubeMX for STM32 Configuration and initialization C code generation(STM32CubeMX用戶手冊,UM1718)
● Getting started with STM32CubeF1 firmware package for STM32F1 Series(STM32CubeF1用戶手冊,UM1847)
● Description of STM32F1×× HAL drivers(HAL固件庫用戶手冊,UM1850)
● STM32Cube firmware examples for STM32F1 Series(STM32Cube應用手冊,AN4724)
有關STM32微控制器的學習,可參考的資料就更多了。在此簡單列舉一下入門學習時應重點關注的資料:
● 《ARM Cortex-M3權威指南》(宋巖 譯)
● The Cortex-M3 Technical Reference manual(Cortex-M3技術參考手冊)
● STM32F10××× Reference manual(STM32F10×××參考手冊,RM0008)
● STM32F10××× Cortex-M3 Programming manual(STM32F10××× Cortex-M3編程手冊,PM0056)
● STM32F10××× Flash programming manual(STM32F10××× Flash編程手冊,PM0075)
● DS5319:STM32F103×8、STM32F103×B Datasheet(數據手冊)
● DS5792:STM32F103×C、STM32F103×D、STM32F103×D Datasheet(數據手冊)
● MDK-ARM開發環境、例程及幫助文檔
● 其他相關器件數據手冊及網絡資料
學習新知識時,如果沒有資料可以參考,會覺得很困難;如果資料太多,又不知從何處入手、重點/難點在哪里。寫作本書的目的就是結合ST公司和ARM公司提供的豐富資料,幫助讀者找到一個屬于自己的學習方法。本書首先介紹如何從ST公司官網獲取想要的技術資料,然后從STM32CubeF1軟件包提供的例程入手,引導讀者通過例程了解利用技術資料的方法,并通過對例程進行功能認識、代碼分析和重新生成,逐步將例程變成自己的應用實現。
建議有心自學的讀者:先學習《STM32F10×××參考手冊》的前面幾章,對STM32有個初步的認識;再學習《ARM Cortex-M3權威指南》,無須看完、吃透,對其內核有個了解即可;然后閱讀STM32CubeMX用戶手冊和STM32CubeF1用戶手冊,使用STM32CubeF1軟件包提供的例程,結合ST公司提供的HAL固件庫的源代碼及其用戶手冊UM1850,有針對性地學習《STM32F10×××參考手冊》的相關章節。本書正是根據上述流程來引導讀者使用STM32CubeMX和MDK-ARM學習STM32微控制器的,書中并沒講晦澀高深的內容,只是在例程中適當的地方加以注釋,以便新手輕松入門、少走彎路。
目前,市面上的STM32開發板品種繁多,但沒有本質上的區別,不同的只是開發板上的外設數量有多有少。本書選擇的開發板是ST公司的Nucleo-F103RB,并基于這個開發板的原理圖來分析例程,最后使用STM32CubeMX重建例程。對于STM32入門者來說,幾乎所有的開發板均可滿足要求,只要依據自身的技術需求進行選擇就行。
在本書編寫過程中,段富軍、高維娜、黃得建、聶運中、王盛等曾參與了前一版的編寫工作,劉帥、黃雅琴、周樂平等也提供了大量的幫助,在此表示感謝。
最后,感謝我的家人和朋友,特別是我的父母,在社會壓力較大的今天,能如此放任我自由地寫作而不給太多的壓力,實屬不易。另外,感謝在洛陽求學和工作時的師長和同事——刁海南、張文勇、郭銳、齊文釗、陳劍、李為民、趙博、尹國利、謝永進等,我是在參加工作后才走上嵌入式開發這條路的,若不是這些前輩的指點,我也就沒有如今的成績;由衷感謝在大學、中學諄諄教導過我的老師——楊明祥、高克權、楊萬才、李小申、程東明、張曉紅、黎蔚、王輝、劉勇等,楊明祥老師幫助我走進了洛陽工學院,洛陽工學院數理學院的老師培養了我的良好的邏輯分析能力,計算機方向的老師幫我踏入IT這個行業;還要感謝讀者和學生,特別是那些來信給出建議的讀者和學生,如郭凱、張鋒、王帥陽、牛鵬舉、竹顯濤、劉帥、宋文帥等,他們的感謝、鼓勵和建議為我繼續寫作增添了動力。最后,感謝人生路上伴我走過的朋友們。
“學然后知不足,教然后知困”。由于本人水平有限,書中難免存在疏漏之處敬請廣大讀者批評指正。如果讀者在閱讀本書時有疑問或建議,可以通過郵件、微信(IT_LaoYang)與我溝通。

楊百軍
pagetop