這是一本介紹如何通過組件STM32CubeMX學習STM32系列微控制器的圖書,主要利用在ST公司官網(wǎng)下載的STM32F10系列參考手冊、數(shù)據(jù)手冊以及內(nèi)核資料M3權威指南進行深入、詳細的講解。
本書從市場上暢銷的STM32F1系列微控制器入手,利用STM32CubeMX快速生成F1系列的開發(fā)環(huán)境,并在MDKARM軟件上對代碼進行進一步的修改補充,直至生成最終的開發(fā)項目。
本書將使用STM32CubeMX自帶的HAL固件庫進行開發(fā)。本書共分3部分,第1部分為1~6章,主要是對STM32F1系列微控制器的基礎部分的開發(fā);第2部分為7~11章,主要是對STM32F1系列微控制器的提高部分的開發(fā);第3部分為12、13章,主要是項目實戰(zhàn)部分,通過前面第1部分和第2部分的學習,達到整合實戰(zhàn)的目的。
第1章走近STM321
1.1ST微控制器1
1.2了解STM32F103ZE微控制器3
1.3STM32F103ZET6 功能概述7
1.4XYDM3開發(fā)板8
1.4.1ARM公司的發(fā)展史9
1.4.2ARM 架構9
1.5思考與練習11
第2章初識STM32Cube12
2.1STM32CubeMX12
2.2安裝運行環(huán)境Java13
2.3安裝STM32CubeMX14
2.4STM32CubeMX軟件包17
2.5安裝MDKARM軟件20
2.5.1下載相關軟件20
2.5.2安裝MDKARM軟件24
2.5.3注冊MDKARM28
2.6驅動安裝下載29
2.6.1ST_LINK驅動安裝29
2.6.2CH340驅動安裝下載31
2.7例程解析32
2.7.1UM1847手冊介紹32
2.7.2UM1850手冊介紹36
2.8思考與練習40
第3章GPIO口實驗41
3.1GPIO概述41
3.1.1GPIO功能41
3.1.2GPIO框圖43
3.2GPIO復用功能重映射47
3.3新建例程48
3.4例程分析55
3.4.1源代碼介紹55
3.4.2分析代碼56
3.4.3添加代碼71
3.4.4編譯下載72
3.5思考與練習73
第4章串口通信USART74
4.1串口概述74
4.2串口特征74
4.3串口通信76
4.3.1通信概述76
4.3.2串行通信概述76
4.3.3異步通信數(shù)據(jù)幀格式77
4.3.4串口通信物理結構77
4.3.5波特率80
4.4新建例程80
4.5例程分析84
4.5.1源代碼介紹84
4.5.2添加代碼95
4.5.3編譯下載97
4.6思考與練習98
第5章基本定時器99
5.1定時器概述99
5.2定時器功能100
5.3計數(shù)器時鐘103
5.4新建例程104
5.5例程分析109
5.5.1源代碼介紹109
5.5.2添加代碼112
5.5.3編譯下載113
5.6思考與練習114
第6章外部中斷115
6.1中斷介紹115
6.1.1中斷概述115
6.1.2中斷過程116
6.1.3中斷優(yōu)先級116
6.1.4中斷優(yōu)先級分組117
6.1.5中斷分類118
6.1.6中斷異常向量表118
6.2外部中斷介紹120
6.2.1外部中斷概述120
6.2.2外部中斷框圖120
6.2.3外部中斷優(yōu)先級121
6.3新建例程123
6.4例程分析128
6.4.1源代碼介紹128
6.4.2編譯下載132
6.5思考與練習134
第7章RTC實時時鐘135
7.1RTC概述135
7.2RTC供電136
7.3RTC特征136
7.4RTC框圖137
7.5RTC時鐘源選擇138
7.6新建例程140
7.7例程分析145
7.7.1源代碼介紹145
7.7.2添加代碼150
7.7.3編譯下載151
7.8思考與練習153
第8章LCD液晶屏154
8.1液晶屏介紹154
8.2TFTLCD概念157
8.3TFTLCD特點157
8.4LCD控制器158
8.5LCD屏控制參數(shù)159
8.5.1LCD基本參數(shù)介紹159
8.5.2XYDCoretex_M3板TFTLCD屏159
8.5.3LCD驅動時序159
8.5.4LCD相關指令161
8.6FSMC介紹165
8.6.1FSMC概念165
8.6.2FSMC特點165
8.6.3FSMC接口介紹166
8.6.4地址映像167
8.6.5FSMC時序170
8.7LCD硬件設計175
8.7.1LCD原理圖175
8.7.2LCD引腳分析175
8.8新建例程179
8.9例程分析184
8.9.1源代碼介紹184
8.9.2添加代碼192
8.9.3編譯下載195
8.10思考與練習198
第9章觸摸屏199
9.1觸摸屏介紹199
9.2觸摸屏分類199
9.3觸摸屏控制器202
9.4觸摸屏時序203
9.5觸摸屏硬件設計205
9.5.1觸摸屏原理圖205
9.5.2觸摸屏引腳分析205
9.6新建例程207
9.7例程分析209
9.7.1源代碼介紹209
9.7.2添加代碼214
9.7.3編譯下載215
9.8思考與練習218
第10章ADC219
10.1ADC模塊概述220
10.2ADC特性220
10.3ADC內(nèi)部結構221
10.3.1ADC框圖221
10.3.2ADC校準221
10.3.3ADC時序223
10.4ADC轉換模式224
10.4.1單次轉換模式與連續(xù)轉換模式224
10.4.2掃描模式224
10.4.3間斷模式224
10.5ADC工作管理配置225
10.5.1規(guī)則通道管理225
10.5.2注入通道管理225
10.5.3數(shù)據(jù)對齊226
10.5.4通道采樣226
10.6新建例程227
10.7ADC例程分析230
10.7.1源代碼介紹230
10.7.2添加代碼234
10.7.3編譯下載235
10.8思考與練習238
第11章DMA240
11.1DMA概述240
11.2DMA的處理過程241
11.2.1DMA傳輸數(shù)據(jù)241
11.2.2仲裁器和優(yōu)先級241
11.2.3循環(huán)模式242
11.2.4存儲器到存儲器242
11.2.5指針增量242
11.3DMA通道242
11.4DMA中斷246
11.5新建例程246
11.6DMA例程分析249
11.6.1源代碼介紹249
11.6.2添加代碼254
11.6.3編譯下載255
11.7思考與練習257
第12章項目實戰(zhàn)五子棋258
12.1項目的總體設計258
12.2項目的硬件設計259
12.3項目的軟件設計260
12.4編碼調試260
12.5項目結束266
第13章項目實戰(zhàn)自動澆花系統(tǒng)267
13.1項目的總體設計267
13.2項目的硬件設計268
13.2.1電源模塊269
13.2.2復位模塊270
13.2.3主控芯片模塊270
13.2.4下載模塊270
13.2.5語音模塊272
13.2.6無線模塊272
13.2.7OLED屏模塊272
13.3項目的軟件設計274
13.4編碼調試274
13.4.1土壤溫濕度模塊程序設計274
13.4.2USART程序設計276
13.4.3OLED屏程序設計277
13.4.4語音模塊程序設計278
13.4.5WIFI模塊程序設計279
13.5項目結束286
附錄ASTM32F103Zx 芯片功能表288
附錄BSTM32F103Zx 芯片內(nèi)部時鐘框圖289
附錄CSTM32F103Zx 時鐘樹290
參考文獻291