這是一本介紹如何通過組件STM32CubeMX學(xué)習(xí)STM32系列微控制器的圖書,主要利用在ST公司官網(wǎng)下載的STM32F10系列參考手冊(cè)、數(shù)據(jù)手冊(cè)以及內(nèi)核資料M3權(quán)威指南進(jìn)行深入、詳細(xì)的講解。
本書從市場(chǎng)上暢銷的STM32F1系列微控制器入手,利用STM32CubeMX快速生成F1系列的開發(fā)環(huán)境,并在MDKARM軟件上對(duì)代碼進(jìn)行進(jìn)一步的修改補(bǔ)充,直至生成最終的開發(fā)項(xiàng)目。
本書將使用STM32CubeMX自帶的HAL固件庫進(jìn)行開發(fā)。本書共分3部分,第1部分為1~6章,主要是對(duì)STM32F1系列微控制器的基礎(chǔ)部分的開發(fā);第2部分為7~11章,主要是對(duì)STM32F1系列微控制器的提高部分的開發(fā);第3部分為12、13章,主要是項(xiàng)目實(shí)戰(zhàn)部分,通過前面第1部分和第2部分的學(xué)習(xí),達(dá)到整合實(shí)戰(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章初識(shí)STM32Cube12
2.1STM32CubeMX12
2.2安裝運(yùn)行環(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注冊(cè)MDKARM28
2.6驅(qū)動(dòng)安裝下載29
2.6.1ST_LINK驅(qū)動(dòng)安裝29
2.6.2CH340驅(qū)動(dòng)安裝下載31
2.7例程解析32
2.7.1UM1847手冊(cè)介紹32
2.7.2UM1850手冊(cè)介紹36
2.8思考與練習(xí)40
第3章GPIO口實(shí)驗(yàn)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章基本定時(shí)器99
5.1定時(shí)器概述99
5.2定時(shí)器功能100
5.3計(jì)數(shù)器時(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)先級(jí)116
6.1.4中斷優(yōu)先級(jí)分組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)先級(jí)121
6.3新建例程123
6.4例程分析128
6.4.1源代碼介紹128
6.4.2編譯下載132
6.5思考與練習(xí)134
第7章RTC實(shí)時(shí)時(shí)鐘135
7.1RTC概述135
7.2RTC供電136
7.3RTC特征136
7.4RTC框圖137
7.5RTC時(shí)鐘源選擇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特點(diǎn)157
8.4LCD控制器158
8.5LCD屏控制參數(shù)159
8.5.1LCD基本參數(shù)介紹159
8.5.2XYDCoretex_M3板TFTLCD屏159
8.5.3LCD驅(qū)動(dòng)時(shí)序159
8.5.4LCD相關(guān)指令161
8.6FSMC介紹165
8.6.1FSMC概念165
8.6.2FSMC特點(diǎn)165
8.6.3FSMC接口介紹166
8.6.4地址映像167
8.6.5FSMC時(shí)序170
8.7LCD硬件設(shè)計(jì)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è)計(jì)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時(shí)序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ù)對(duì)齊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)先級(jí)241
11.2.3循環(huán)模式242
11.2.4存儲(chǔ)器到存儲(chǔ)器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章項(xiàng)目實(shí)戰(zhàn)五子棋258
12.1項(xiàng)目的總體設(shè)計(jì)258
12.2項(xiàng)目的硬件設(shè)計(jì)259
12.3項(xiàng)目的軟件設(shè)計(jì)260
12.4編碼調(diào)試260
12.5項(xiàng)目結(jié)束266
第13章項(xiàng)目實(shí)戰(zhàn)自動(dòng)澆花系統(tǒng)267
13.1項(xiàng)目的總體設(shè)計(jì)267
13.2項(xiàng)目的硬件設(shè)計(jì)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項(xiàng)目的軟件設(shè)計(jì)274
13.4編碼調(diào)試274
13.4.1土壤溫濕度模塊程序設(shè)計(jì)274
13.4.2USART程序設(shè)計(jì)276
13.4.3OLED屏程序設(shè)計(jì)277
13.4.4語音模塊程序設(shè)計(jì)278
13.4.5WIFI模塊程序設(shè)計(jì)279
13.5項(xiàng)目結(jié)束286
附錄ASTM32F103Zx 芯片功能表288
附錄BSTM32F103Zx 芯片內(nèi)部時(shí)鐘框圖289
附錄CSTM32F103Zx 時(shí)鐘樹290
參考文獻(xiàn)291