這是一本介紹如何通過組件STM32CubeMX學(xué)習(xí)STM32系列微控制器的圖書,主要利用在ST公司官網(wǎng)下載的STM32F10系列參考手冊、數(shù)據(jù)手冊以及內(nèi)核資料M3權(quán)威指南進(jìn)行深入、詳細(xì)的講解。
本書從市場上暢銷的STM32F1系列微控制器入手,利用STM32CubeMX快速生成F1系列的開發(fā)環(huán)境,并在MDKARM軟件上對代碼進(jìn)行進(jìn)一步的修改補充,直至生成最終的開發(fā)項目。
本書將使用STM32CubeMX自帶的HAL固件庫進(jìn)行開發(fā)。本書共分3部分,第1部分為1~6章,主要是對STM32F1系列微控制器的基礎(chǔ)部分的開發(fā);第2部分為7~11章,主要是對STM32F1系列微控制器的提高部分的開發(fā);第3部分為12、13章,主要是項目實戰(zhàn)部分,通過前面第1部分和第2部分的學(xué)習(xí),達(dá)到整合實戰(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 架構(gòu)9
1.5思考與練習(xí)11
第2章初識STM32Cube12
2.1STM32CubeMX12
2.2安裝運行環(huán)境Java13
2.3安裝STM32CubeMX14
2.4STM32CubeMX軟件包17
2.5安裝MDKARM軟件20
2.5.1下載相關(guān)軟件20
2.5.2安裝MDKARM軟件24
2.5.3注冊MDKARM28
2.6驅(qū)動安裝下載29
2.6.1ST_LINK驅(qū)動安裝29
2.6.2CH340驅(qū)動安裝下載31
2.7例程解析32
2.7.1UM1847手冊介紹32
2.7.2UM1850手冊介紹36
2.8思考與練習(xí)40
第3章GPIO口實驗41
3.1GPIO概述41
3.1.1GPIO功能41
3.1.2GPIO框圖43
3.2GPIO復(fù)用功能重映射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思考與練習(xí)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串口通信物理結(jié)構(gòu)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思考與練習(xí)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思考與練習(xí)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思考與練習(xí)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思考與練習(xí)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驅(qū)動時序159
8.5.4LCD相關(guān)指令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硬件設(shè)計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思考與練習(xí)198
第9章觸摸屏199
9.1觸摸屏介紹199
9.2觸摸屏分類199
9.3觸摸屏控制器202
9.4觸摸屏?xí)r序203
9.5觸摸屏硬件設(shè)計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思考與練習(xí)218
第10章ADC219
10.1ADC模塊概述220
10.2ADC特性220
10.3ADC內(nèi)部結(jié)構(gòu)221
10.3.1ADC框圖221
10.3.2ADC校準(zhǔn)221
10.3.3ADC時序223
10.4ADC轉(zhuǎn)換模式224
10.4.1單次轉(zhuǎn)換模式與連續(xù)轉(zhuǎn)換模式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思考與練習(xí)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思考與練習(xí)257
第12章項目實戰(zhàn)五子棋258
12.1項目的總體設(shè)計258
12.2項目的硬件設(shè)計259
12.3項目的軟件設(shè)計260
12.4編碼調(diào)試260
12.5項目結(jié)束266
第13章項目實戰(zhàn)自動澆花系統(tǒng)267
13.1項目的總體設(shè)計267
13.2項目的硬件設(shè)計268
13.2.1電源模塊269
13.2.2復(fù)位模塊270
13.2.3主控芯片模塊270
13.2.4下載模塊270
13.2.5語音模塊272
13.2.6無線模塊272
13.2.7OLED屏模塊272
13.3項目的軟件設(shè)計274
13.4編碼調(diào)試274
13.4.1土壤溫濕度模塊程序設(shè)計274
13.4.2USART程序設(shè)計276
13.4.3OLED屏程序設(shè)計277
13.4.4語音模塊程序設(shè)計278
13.4.5WIFI模塊程序設(shè)計279
13.5項目結(jié)束286
附錄ASTM32F103Zx 芯片功能表288
附錄BSTM32F103Zx 芯片內(nèi)部時鐘框圖289
附錄CSTM32F103Zx 時鐘樹290
參考文獻(xiàn)291