嵌入式系統(tǒng)設(shè)計(jì)權(quán)威指南
定 價(jià):129 元
叢書(shū)名:電子系統(tǒng)EDA新技術(shù)叢書(shū)
- 作者:何賓,李天凌編著
- 出版時(shí)間:2024/7/1
- ISBN:9787121484339
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP332.021-62
- 頁(yè)碼:356頁(yè)
- 紙張:
- 版次:
- 開(kāi)本:26cm
本書(shū)以意法半導(dǎo)體公司新推出的基于ArmCortex-M0+的STM32G071MCU為硬件平臺(tái),以意法半導(dǎo)體公司的STM32CubeMX和Arm公司的KeilμVision(Arm版本)集成開(kāi)發(fā)環(huán)境(以下簡(jiǎn)稱(chēng)Keil)為軟件平臺(tái),以Cortex-M0+處理器結(jié)構(gòu)、高級(jí)微控制總線(xiàn)結(jié)構(gòu)、Cortex-M0+處理器指令集和應(yīng)用、C語(yǔ)言應(yīng)用開(kāi)發(fā)、外設(shè)驅(qū)動(dòng)與控制,以及RT-Thread操作系統(tǒng)為主線(xiàn),由淺入深、由易到難地系統(tǒng)介紹了基于STM32G071MCU的32位嵌入式系統(tǒng)開(kāi)發(fā)流程和實(shí)現(xiàn)方法。本書(shū)側(cè)重于對(duì)基于ArmCortex-M0+MCU的32位嵌入式系統(tǒng)設(shè)計(jì)應(yīng)用的講解,通過(guò)典型設(shè)計(jì)實(shí)例說(shuō)明將嵌入式系統(tǒng)設(shè)計(jì)應(yīng)用于不同的應(yīng)用場(chǎng)景的方法,使得所設(shè)計(jì)的嵌入式系統(tǒng)在滿(mǎn)足應(yīng)用場(chǎng)景要求的條件下實(shí)現(xiàn)成本、功耗和性能的最佳平衡。
目 錄
第1章 軟件工具的下載、安裝和應(yīng)用 1
1.1 STM32CubeMX工具的下載和安裝 1
1.1.1 STM32CubeMX工具的下載 1
1.1.2 STM32CubeMX工具的安裝 3
1.1.3 STM32G0系列MCU支持包的安裝 4
1.2 Keil ?Vision(Arm版本)工具的下載、安裝和授權(quán) 5
1.2.1 Keil ?Vision內(nèi)嵌編譯工具鏈架構(gòu) 6
1.2.2 Keil ?Vision(Arm版本)工具的下載和安裝 6
1.2.3 Keil ?Vision(Arm版本)工具的授權(quán) 9
1.3 設(shè)計(jì) 11
實(shí)例:LED的驅(qū)動(dòng)和控制 11
1.3.1 生成簡(jiǎn)單的工程 11
1.3.2 添加設(shè)計(jì)代碼 14
1.3.3 編譯和下載設(shè)計(jì) 16
第2章 Cortex-M0+處理器結(jié)構(gòu) 18
2.1 Cortex-M0+處理器和核心外設(shè) 18
2.1.1 Cortex-M0+處理器核 19
2.1.2 系統(tǒng)級(jí)接口 21
2.1.3 可配置的調(diào)試 21
2.1.4 核心外設(shè) 22
2.2 Cortex-M0+處理器的寄存器 22
2.2.1 通用寄存器 22
2.2.2 堆棧指針 23
2.2.3 程序計(jì)數(shù)器 23
2.2.4 鏈接寄存器 24
2.2.5 程序狀態(tài)寄存器 24
2.2.6 可中斷重啟指令 27
2.2.7 異常屏蔽寄存器 27
2.2.8 優(yōu)先級(jí)屏蔽寄存器 27
2.2.9 控制寄存器 27
2.3 Cortex-M0+處理器的存儲(chǔ)空間結(jié)構(gòu) 28
2.3.1 存儲(chǔ)空間映射 28
2.3.2 代碼區(qū)域地址映射 30
2.3.3 SRAM區(qū)域地址映射 31
2.3.4 外設(shè)區(qū)域地址映射 32
2.3.5 PPB地址空間映射 34
2.3.6 SCS地址空間映射 35
2.3.7 系統(tǒng)控制和ID寄存器 36
2.4 Cortex-M0+處理器的端及分配 40
2.5 Cortex-M0+處理器的異常及處理 41
2.5.1 異常所處的狀態(tài) 41
2.5.2 異常類(lèi)型 41
2.5.3 異常優(yōu)先級(jí) 42
2.5.4 向量表 43
2.5.5 異常的進(jìn)入和返回 44
2.5.6 NVIC中的中斷寄存器集 46
2.5.7 電平和脈沖中斷 48
2.6 Cortex-M0+處理器的存儲(chǔ)器保護(hù)單元 49
2.6.1 MPU寄存器 50
2.6.2 MPU訪(fǎng)問(wèn)權(quán)限屬性 54
2.6.3 更新MPU區(qū)域 55
2.6.4 子區(qū)域及用法 55
2.6.5 MPU設(shè)計(jì)技巧和提示 56
第3章 高級(jí)微控制器總線(xiàn)結(jié)構(gòu) 57
3.1 Arm AMBA系統(tǒng)總線(xiàn) 57
3.2 AMBA APB規(guī)范 58
3.2.1 AMBA APB寫(xiě)傳輸 58
3.2.2 AMBA APB讀傳輸 59
3.2.3 AMBA APB錯(cuò)誤響應(yīng) 60
3.2.4 AMBA APB操作流程 61
3.2.5 AMBA3 APB信號(hào) 62
3.3 AMBA AHB規(guī)范 62
3.3.1 AMBA AHB結(jié)構(gòu) 62
3.3.2 AMBA AHB操作 63
3.3.3 AMBA AHB傳輸類(lèi)型 66
3.3.4 AMBA AHB猝發(fā)操作 67
3.3.5 AMBA AHB傳輸控制信號(hào) 71
3.3.6 AMBA AHB地址譯碼 72
3.3.7 AMBA AHB從設(shè)備傳輸響應(yīng) 72
3.3.8 AMBA AHB數(shù)據(jù)總線(xiàn) 75
3.3.9 AMBA AHB傳輸仲裁 77
3.3.10 AMBA AHB分割傳輸 82
3.3.11 AMBA AHB復(fù)位 84
3.3.12 AMBA AHB總線(xiàn)數(shù)據(jù)寬度 84
3.3.13 AMBA AHB接口設(shè)備 86
第4章 Cortex-M0+處理器指令集和應(yīng)用 88
4.1 Thumb指令集 88
4.2 Keil MDK匯編語(yǔ)言指令格式要點(diǎn) 89
4.2.1 匯編語(yǔ)言源代碼中的文字 89
4.2.2 匯編語(yǔ)言源代碼行的語(yǔ)法 89
4.2.3 匯編語(yǔ)言指令后綴的含義 91
4.3 寄存器說(shuō)明符的限制規(guī)則 91
4.3.1 使用0b1111作為寄存器說(shuō)明符的規(guī)則 91
4.3.2 使用0b1101作為寄存器說(shuō)明符的規(guī)則 92
4.4 寄存器傳輸指令 92
4.5 存儲(chǔ)器加載和保存指令 94
4.5.1 存儲(chǔ)器加載指令 94
4.5.2 存儲(chǔ)器保存指令 98
4.6 多數(shù)據(jù)加載和保存指令 101
4.6.1 多數(shù)據(jù)加載指令 101
4.6.2 多數(shù)據(jù)保存指令 102
4.7 堆棧訪(fǎng)問(wèn)指令 103
4.8 算術(shù)運(yùn)算指令 104
4.8.1 加法指令 104
4.8.2 減法指令 107
4.8.3 乘法指令 108
4.8.4 比較指令 109
4.9 邏輯操作指令 110
4.10 移位操作指令 112
4.10.1 右移指令 112
4.10.2 左移指令 114
4.11 反序操作指令 115
4.12 擴(kuò)展操作指令 116
4.13 程序流控制指令 117
4.14 存儲(chǔ)器屏障指令 120
4.15 異常相關(guān)指令 121
4.16 休眠相關(guān)指令 121
4.17 其他指令 122
4.18 STM32G0的向量表格式 123
4.19 配置堆和堆棧 124
4.20 設(shè)計(jì)實(shí)例一:匯編語(yǔ)言程序的分析和調(diào)試 125
4.20.1 冒泡排序算法的基本思想 125
4.20.2 冒泡排序算法的設(shè)計(jì)實(shí)現(xiàn) 126
4.20.3 冒泡排序算法的調(diào)試 128
4.21 設(shè)計(jì)實(shí)例二:GPIO的驅(qū)動(dòng)和控制 130
4.21.1 STM32G071的GPIO原理 130
4.21.2 所用寄存器的地址和功能 132
4.21.3 GPIO驅(qū)動(dòng)和控制的實(shí)現(xiàn) 134
4.22 設(shè)計(jì)實(shí)例三:中斷的控制和實(shí)現(xiàn) 135
4.22.1 擴(kuò)展中斷和事件控制器(EXTI)原理 136
4.22.2 所用寄存器的地址和功能 141
4.22.3 向量表信息 145
4.22.4 應(yīng)用程序的設(shè)計(jì) 147
4.22.5 程序代碼的調(diào)試 149
第5章 Cortex-M0+ C語(yǔ)言應(yīng)用開(kāi)發(fā) 151
5.1 Arm C/C++編譯器選項(xiàng) 151
5.1.1 Arm編譯器的優(yōu)化級(jí)別 151
5.1.2 Arm Compiler 5的參數(shù)設(shè)置選項(xiàng) 155
5.1.3 Arm Compiler 6的參數(shù)設(shè)置選項(xiàng) 157
5.2 CMSIS軟件架構(gòu) 159
5.2.1 引入CMSIS的必要性 160
5.2.2 CMSIS的架構(gòu) 160
5.2.3 CMSIS的優(yōu)勢(shì) 161
5.2.4 CMSIS的編程規(guī)則 161
5.2.5 CMSIS軟件包 162
5.2.6 使用CMSIS訪(fǎng)問(wèn)不同資源 163
5.3 C語(yǔ)言設(shè)計(jì)實(shí)例一:輸入/輸出重定向的實(shí)現(xiàn) 164
5.3.1 定制Microlib輸入/輸出函數(shù) 164
5.3.2 輸入/輸出函數(shù)重定向的實(shí)現(xiàn)原理 165
5.3.3 輸入/輸出函數(shù)重定向的具體實(shí)現(xiàn) 166
5.4 C語(yǔ)言設(shè)計(jì)實(shí)例二:1602字符型LCD的驅(qū)動(dòng) 171
5.4.1 1602字符型LCD的原理 171
5.4.2 1602字符型LCD的處理流程 174
5.4.3 1602字符型LCD和開(kāi)發(fā)板的硬件連接 175
5.4.4 程序代碼的設(shè)計(jì) 176
5.5 C語(yǔ)言設(shè)計(jì)實(shí)例三:中斷控制與1602字符型LCD的交互 178
5.5.1 程序代碼的設(shè)計(jì) 178
5.5.2 C語(yǔ)言中斷程序的分析 179
5.6 C語(yǔ)言設(shè)計(jì)實(shí)例四:軟件驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn) 181
5.6.1 創(chuàng)建HAL的設(shè)計(jì)實(shí)例 181
5.6.2 創(chuàng)建LL的設(shè)計(jì)實(shí)例 183
第6章 電源、時(shí)鐘和復(fù)位的原理及應(yīng)用 186
6.1 電源系統(tǒng)的原理及功能 186
6.1.1 電源系統(tǒng)框架 186
6.1.2 電源監(jiān)控 188
6.1.3 低功耗模式 190
6.2 RCC中的時(shí)鐘管理功能 194
6.2.1 RCC中的時(shí)鐘源 194
6.2.2 RCC中的時(shí)鐘樹(shù)結(jié)構(gòu) 194
6.3 RCC中的復(fù)位管理功能 199
6.3.1 電源復(fù)位 199
6.3.2 系統(tǒng)復(fù)位 199
6.3.3 RTC域復(fù)位 200
6.4 低功耗設(shè)計(jì)實(shí)例一:從停止模式喚醒MCU的實(shí)現(xiàn) 201
6.4.1 設(shè)計(jì)策略和實(shí)現(xiàn)目標(biāo) 201
6.4.2 程序設(shè)計(jì)和實(shí)現(xiàn) 201
6.5 低功耗設(shè)計(jì)實(shí)例二:定時(shí)器喚醒功耗分析 206
6.6 低功耗設(shè)計(jì)實(shí)例三:運(yùn)行模式和低功耗模式狀態(tài)的顯示 210
6.6.1 第一種設(shè)計(jì)實(shí)現(xiàn)方法 210
6.6.2 第二種設(shè)計(jì)實(shí)現(xiàn)方法 212
第7章 看門(mén)狗的原理和應(yīng)用 214
7.1 獨(dú)立看門(mén)狗的原理和功能 214
7.1.1 IWDG的結(jié)構(gòu) 214
7.1.2 IWDG的工作原理 215
7.1.3 IWDG時(shí)鐘基準(zhǔn)和超時(shí)的設(shè)置 216
7.2 系統(tǒng)窗口看門(mén)狗的原理和功能 216
7.2.1 WWDG的結(jié)構(gòu) 216
7.2.2 WWDG的工作原理 217
7.2.3 WWDG時(shí)鐘基準(zhǔn)和超時(shí)值的設(shè)置 217
7.2.4 WWDG中斷 218
7.3 獨(dú)立看門(mén)狗設(shè)計(jì)實(shí)例:實(shí)現(xiàn)與分析 218
7.3.1 生成工程框架 218
7.3.2 添加設(shè)計(jì)代碼 220
7.3.3 設(shè)計(jì)下載和分析 222
第8章 步進(jìn)電機(jī)的驅(qū)動(dòng)和控制 223
8.1 低功耗定時(shí)器的結(jié)構(gòu)及功能 223
8.1.1 LPTIM的結(jié)構(gòu) 223
8.1.2 LPTIM的功能 228
8.2 高級(jí)控制定時(shí)器的結(jié)構(gòu)及功能 229
8.2.1 TIM1的結(jié)構(gòu) 229
8.2.2 TIM1的功能 230
8.3 設(shè)計(jì)實(shí)例:步進(jìn)電機(jī)的驅(qū)動(dòng)和信號(hào)測(cè)量 265
8.3.1 步進(jìn)電機(jī)的設(shè)計(jì)原理 265
8.3.2 步進(jìn)電機(jī)的驅(qū)動(dòng)電路 266
8.3.3 霍爾傳感器的測(cè)速原理 267
8.3.4 系統(tǒng)硬件連接 268
8.3.5 在STM32CubeMX中配置參數(shù) 268
8.3.6 在Keil ?Vision中添加設(shè)計(jì)代碼 271
8.3.7 設(shè)計(jì)處理和驗(yàn)證 274
第9章 直流電機(jī)的驅(qū)動(dòng)和控制 276
9.1 脈沖寬度調(diào)制的原理 276
9.2 直流風(fēng)扇的驅(qū)動(dòng)原理 276
9.2.1 直流風(fēng)扇的規(guī)范和連線(xiàn) 276
9.2.2 PWM速度控制功能 277
9.2.3 脈沖傳感器(轉(zhuǎn)速輸出類(lèi)型) 278
9.3 通用定時(shí)器的原理 278
9.3.1 TIM2/TIM3/TIM4的主要功能 279
9.3.2 TIM14的主要功能 280
9.3.3 TIM15的主要功能 281
9.3.4 TIM16/TIM17的主要功能 282
9.4 直流風(fēng)扇驅(qū)動(dòng)和測(cè)速的設(shè)計(jì)與實(shí)現(xiàn) 283
9.4.1 系統(tǒng)設(shè)計(jì)策略 283
9.4.2 系統(tǒng)硬件連接 284
9.4.3 應(yīng)用程序的設(shè)計(jì) 285
9.4.4 設(shè)計(jì)處理和下載 291
第10章 紅外串口通信的設(shè)計(jì)和實(shí)現(xiàn) 292
10.1 低功耗通用異步收發(fā)器的原理 292
10.1.1 模塊結(jié)構(gòu) 292
10.1.2 接口信號(hào) 294
10.1.3 數(shù)據(jù)格式 294
10.1.4 FIFO模式 296
10.1.5 單線(xiàn)半雙工模式 296
10.1.6 多處理器通信 296
10.1.7 發(fā)送器原理 298
10.1.8 接收器原理 298
10.1.9 波特率發(fā)生器 299
10.1.10 喚醒和中斷事件 300
10.2 通用同步異步收發(fā)器的原理 301
10.2.1 主要功能 301
10.2.2 接收器過(guò)采樣技術(shù) 302
10.2.3 同步模式 303
10.2.4 ISO/IEC 7816模式 304
10.2.5 串行紅外通信 305
10.2.6 自動(dòng)波特率檢測(cè) 306
10.2.7 接收器超時(shí) 306
10.2.8 喚醒和中斷事件 306
10.3 設(shè)計(jì)實(shí)例:基于LPUART和紅外接口的串行通信的實(shí)現(xiàn) 307
10.3.1 紅外串行通信設(shè)計(jì)思路 307
10.3.2 串口的通信參數(shù)配置規(guī)則 308
10.3.3 紅外發(fā)射電路和紅外接收電路的設(shè)計(jì) 309
10.3.4 紅外接口的原理 311
10.3.5 信號(hào)的編碼與解碼 313
10.3.6 紅外通信系統(tǒng)的抗干擾設(shè)計(jì) 313
10.3.7 發(fā)送端應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn) 314
10.3.8 接收端應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn) 319
第11章 音頻設(shè)備的驅(qū)動(dòng)和控制 325
11.1 外設(shè)串行接口概述 325
11.1.1 SPI模塊的主要特性 325
11.1.2 I2S模塊的主要特性 326
11.2 SPI模塊的結(jié)構(gòu)和功能 326
11.2.1 SPI模塊的結(jié)構(gòu) 326
11.2.2 一個(gè)主設(shè)備和一個(gè)從設(shè)備的通信 327
11.2.3 標(biāo)準(zhǔn)的多個(gè)從設(shè)備通信 329
11.2.4 多個(gè)主設(shè)備通信 330
11.2.5 從設(shè)備選擇引腳管理 330
11.2.6 通信格式 331
11.2.7 配置SPI 332
11.2.8 使能SPI的步驟 333
11.2.9 數(shù)據(jù)發(fā)送和接收過(guò)程 333
11.2.10 SPI狀態(tài)位 340
11.2.11 SPI錯(cuò)誤標(biāo)志 341
11.2.12 NSS脈沖模式 342
11.2.13 TI模式 342
11.2.14 CRC計(jì)算 343
11.2.15 SPI中斷 344
11.3 I2S模塊的結(jié)構(gòu)和功能 345
11.3.1 I2S模塊的結(jié)構(gòu) 345
11.3.2 支持的音頻標(biāo)準(zhǔn) 346
11.3.3 啟動(dòng)說(shuō)明 349
11.3.4 I2S時(shí)鐘生成器 350
11.3.5 I2S主模式 352
11.3.6 I2S從模式 353
11.3.7 I2S狀態(tài)位 354
11.3.8 I2S錯(cuò)誤標(biāo)志 355
11.3.9 DMA功能 356
11.3.10 I2S中斷 356
11.4 設(shè)計(jì)實(shí)例:I2S模塊與音頻設(shè)備的交互設(shè)計(jì) 356
11.4.1 數(shù)字音頻接口 358
11.4.2 音頻數(shù)據(jù)格式 358
11.4.3 音頻模塊硬件電路 359
11.4.4 在STM32CubeMX中配置參數(shù) 360
11.4.5 在Keil ?Vision中修改設(shè)計(jì)代碼 362
11.4.6 設(shè)計(jì)處理和驗(yàn)證 365
第12章 實(shí)時(shí)時(shí)鐘的原理和電子鐘實(shí)現(xiàn) 366
12.1 實(shí)時(shí)時(shí)鐘的原理及功能 366
12.1.1 RTC的功能和結(jié)構(gòu) 366
12.1.2 RTC低功耗模式 377
12.1.3 RTC中斷 377
12.2 I2C總線(xiàn)的原理及功能 377
12.2.1 I2C模塊的結(jié)構(gòu) 378
12.2.2 I2C可編程時(shí)序 381
12.2.3 I2C主設(shè)備時(shí)鐘 382
12.2.4 從設(shè)備尋址模式 383
12.2.5 從停止模式喚醒 384
12.2.6 數(shù)據(jù)傳輸?shù)奶幚?385
12.2.7 從模式 386
12.2.8 對(duì)SMBus的支持 387
12.2.9 中斷和DMA 388
12.2.10 低功耗模式 389
12.3 OLED顯示模塊的原理 389
12.3.1 OLED的性能和參數(shù) 389
12.3.2 OLED模塊的電路 390
12.3.3 I2C總線(xiàn)寫(xiě)數(shù)據(jù) 392
12.3.4 I2C的寫(xiě)模式 392
12.3.5 I2C的數(shù)據(jù)位傳輸 393
12.3.6 圖形顯示數(shù)據(jù)RAM 394
12.3.7 存儲(chǔ)器尋址模式 395
12.3.8 OLED的初始化命令序列 396
12.4 電子鐘的應(yīng)用設(shè)計(jì) 397
12.4.1 在STM32CubeMX中配置參數(shù) 397
12.4.2 在Keil ?Vision中添加設(shè)計(jì)代碼 401
12.4.3 設(shè)計(jì)下載和測(cè)試 414
第13章 直接存儲(chǔ)器訪(fǎng)問(wèn)的原理和實(shí)現(xiàn) 416
13.1 DMA模塊的原理 416
13.1.1 STM32G071 MCU系統(tǒng)結(jié)構(gòu) 416
13.1.2 DMA模塊的結(jié)構(gòu) 417
13.1.3 DMA傳輸 417
13.1.4 DMA仲裁 418
13.1.5 DMA通道 418
13.1.6 DMA數(shù)據(jù)寬度、對(duì)齊和端 421
13.1.7 DMA中斷 422
13.2 DMA請(qǐng)求多路選擇器的原理 422
13.2.1 DMAMUX的結(jié)構(gòu) 422
13.2.2 DMAMUX映射 424
13.2.3 DMAMUX通道 426
13.2.4 DMAMUX請(qǐng)求多路選擇器 426
13.2.5 同步模式和通道事件生成 426
13.2.6 DMAMUX請(qǐng)求生成器 428
13.2.7 DMAMUX中斷 429
13.3 設(shè)計(jì)實(shí)例:基于DMA的數(shù)據(jù)傳輸實(shí)現(xiàn) 429
13.3.1 在STM32CubeMX中配置參數(shù) 429
13.3.2 在Keil ?Vision中添加設(shè)計(jì)代碼 432
13.3.3 設(shè)計(jì)下載和調(diào)試 434
第14章 信號(hào)采集和處理的實(shí)現(xiàn) 435
14.1 ADC結(jié)構(gòu)和功能 435
14.1.1 ADC內(nèi)部結(jié)構(gòu) 435
14.1.2 低功耗模式 435
14.1.3 高性能特性 438
14.1.4 ADC轉(zhuǎn)換速度 439
14.1.5 ADC時(shí)鐘的選擇 439
14.1.6 ADC輸入與ADC的連接關(guān)系 440
14.1.7 ADC轉(zhuǎn)換模式 440
14.1.8 模擬看門(mén)狗 441
14.1.9 數(shù)據(jù)傳輸和中斷 442
14.2 溫度傳感器和內(nèi)部參考電壓 442
14.2.1 讀取溫度 443
14.2.2 使用內(nèi)部參考電壓計(jì)算實(shí)際VREF+ 444
14.3 電池電壓的監(jiān)控 444
14.4 設(shè)計(jì)實(shí)例一:模擬信號(hào)的采集與顯示 444
14.4.1 在STM32CubeMX中配置參數(shù) 444
14.4.2 在Keil ?Vision中添加設(shè)計(jì)代碼 448
14.4.3 設(shè)計(jì)下載和調(diào)試 452
14.5 DAC結(jié)構(gòu)和功能 453
14.5.1 DAC內(nèi)部結(jié)構(gòu) 453
14.5.2 DAC通道使能 456
14.5.3 DAC數(shù)據(jù)格式 456
14.5.4 DAC轉(zhuǎn)換 456
14.5.5 DAC電壓 457
14.5.6 DAC觸發(fā)選擇 457
14.5.7 DMA請(qǐng)求 457
14.5.8 噪聲生成 458
14.5.9 生成三角波 458
14.5.10 DAC通道模式 459
14.5.11 DAC通道緩沖區(qū)標(biāo)定 461
14.5.12 雙DAC通道轉(zhuǎn)換模式(如果可用) 462
14.5.13 低功耗模式 466
14.6 基本定時(shí)器結(jié)構(gòu)和功能 466
14.7 設(shè)計(jì)實(shí)例二:使用示波器上的X-Y模式顯示不同的圖形 467
14.7.1 設(shè)計(jì)目標(biāo)和設(shè)計(jì)思路 467
14.7.2 在STM32CubeMX中配置參數(shù) 467
14.7.3 在Keil ?Vision中添加設(shè)計(jì)代碼 471
14.7.4 設(shè)計(jì)下載和測(cè)試 480
第15章 嵌入式操作系統(tǒng)原理及應(yīng)用 483
15.1 操作系統(tǒng)的必要性 483
15.1.1 單任務(wù)程序 483
15.1.2 輪詢(xún)程序 483
15.2 操作系統(tǒng)基本知識(shí) 484
15.2.1 操作系統(tǒng)的作用 484
15.2.2 操作系統(tǒng)的功能 484
15.2.3 嵌入式操作系統(tǒng) 487
15.3 RT-Thread Nano架構(gòu)及功能 489
15.4 RT-Thread Nano在Keil MDK的移植 490
15.4.1 安裝RT-Thread Nano 490
15.4.2 添加RT-Thread Nano 491
15.4.3 適配RT-Thread Nano 493
15.4.4 修改設(shè)計(jì)代碼 494
15.4.5 配置RT-Thread Nano 495
15.5 RT-Thread Nano內(nèi)核分析與實(shí)現(xiàn) 497
15.5.1 線(xiàn)程及其管理 498
15.5.2 線(xiàn)程的創(chuàng)建及調(diào)度的實(shí)現(xiàn) 503
15.5.3 定時(shí)器的使用 509
15.5.4 互斥量的使用 511