買這商品的人也買了...
- 
                
                   活學活用 LTspice 電路設計 (精益設計) 活學活用 LTspice 電路設計 (精益設計)$330$314
- 
                
                   AI 及機器學習的經脈:演算法新解 AI 及機器學習的經脈:演算法新解$690$587
- 
                
                   嵌入式 Linux 設備驅動程序開發指南, 2/e (Linux Driver Development for Embedded Processors : Learn to develop Linux embedded drivers with kernel 4.9 LTS, 2/e (Paperback)) 嵌入式 Linux 設備驅動程序開發指南, 2/e (Linux Driver Development for Embedded Processors : Learn to develop Linux embedded drivers with kernel 4.9 LTS, 2/e (Paperback))$954$906
- 
                
                   FPGA 時序約束與分析 FPGA 時序約束與分析$414$393
- 
                
                   Verilog 高級數字系統設計技術與實例分析 Verilog 高級數字系統設計技術與實例分析$654$621
- 
                
                   IT 工程師必需!Linux 快速入門實戰手冊 - 從命令列、系統設定到開發環境建置, 實體機、虛擬機、容器化、WSL、雲端平台全適用 IT 工程師必需!Linux 快速入門實戰手冊 - 從命令列、系統設定到開發環境建置, 實體機、虛擬機、容器化、WSL、雲端平台全適用$630$498
- 
                
                   從CPU到SoC的設計與實現 :基於高雲雲源軟件和FPGA硬件平臺 從CPU到SoC的設計與實現 :基於高雲雲源軟件和FPGA硬件平臺$474$450
- 
                
                   SystemVerilog 硬件設計:RTL 設計和驗證 SystemVerilog 硬件設計:RTL 設計和驗證$468$445
- 
                
                   $862數字集成電路設計與實戰 $862數字集成電路設計與實戰
- 
                
                   AI 輔助編程入門:使用 GitHub Copilot 零基礎開發 LLM 應用 AI 輔助編程入門:使用 GitHub Copilot 零基礎開發 LLM 應用$534$507
- 
                
                   基於 FPGA 的機器人計算 基於 FPGA 的機器人計算$594$564
- 
                
                   AI 輔助編程 Python 實戰基於 GitHub Copilot 和 ChatGPT AI 輔助編程 Python 實戰基於 GitHub Copilot 和 ChatGPT$539$512
- 
                
                   基於 STM32 的嵌入式系統開發與應用 基於 STM32 的嵌入式系統開發與應用$354$336
- 
                
                   PyQt 6 實戰派 PyQt 6 實戰派$768$730
- 
                
                   $1,008物聯網的安全與隱私範式(精) $1,008物聯網的安全與隱私範式(精)
- 
                
                   AIoT 智能物聯網全棧測試技術:從原理到實戰 AIoT 智能物聯網全棧測試技術:從原理到實戰$474$450
- 
                
                   智能物聯網與深度學習 智能物聯網與深度學習$474$450
- 
                
                   $324STM32應用技術項目實踐 $324STM32應用技術項目實踐
- 
                
                   FPGA 嵌入式微處理器系統設計 FPGA 嵌入式微處理器系統設計$768$730
- 
                
                   FPGA 經典設計實戰指南:架構、實現和優化 FPGA 經典設計實戰指南:架構、實現和優化$594$564
- 
                
                   ESP32 專題實作 (ChatGPT × APP Inventor 應用) ESP32 專題實作 (ChatGPT × APP Inventor 應用)$560$504
- 
                
                   嵌入式系統原理與應用 ——基於STM32硬件和Proteus仿真 嵌入式系統原理與應用 ——基於STM32硬件和Proteus仿真$299$284
- 
                
                   數字邏輯電路實踐教程——基於FPGA和Verilog 數字邏輯電路實踐教程——基於FPGA和Verilog$354$336
- 
                
                   物聯網漏洞挖掘與利用:方法、技巧和案例 物聯網漏洞挖掘與利用:方法、技巧和案例$594$564
- 
                
                   $207物聯網系統開發技術 $207物聯網系統開發技術
商品描述
本書以嵌入式系統的基本概念和原理為主線,基於ARM Cortex-M3內核的STM32微控制器,遵循系統化、模塊化設計思想,針對STM32的五大外設模塊(GPIO、EXTI、USART、DMA和ADC),分別采用基於標準外設庫和基於HAL庫的設計方法進行詳細闡述,並從初學者的角度出發,詳細講解從模塊到項目的開發過程,並基於μC/OS-Ⅲ嵌入式操作系統講述了嵌入式操作系統的基本原理及開發思路。本書內容全面,由淺入深,配套資源豐富。 本書可以作為高等院校本科生教材。
目錄大綱
目錄
第1章  嵌入式系統概述	1
1.1  信息技術的發展	1
1.1.1  計算機的誕生	1
1.1.2  通用信息處理	2
1.1.3  人工智能	4
1.2  嵌入式系統	5
1.2.1  嵌入式系統案例分析	5
1.2.2  嵌入式系統概念	9
1.2.3  嵌入式系統與物聯網	10
1.3  嵌入式初學者雜談	10
1.3.1  MCU、MPU、ARM、FPGA、DSP概念	11
1.3.2  MCU開發與ARM-Linux開發的區別	14
1.3.3  開源硬件Arduino和樹莓派	15
1.4  嵌入式系統開發流程	16
1.4.1  系統需求分析	17
1.4.2  系統總體設計	18
1.4.3  系統軟硬件設計	19
1.4.4  系統軟硬件測試	20
本章小結	20
習題與思考	21
第2章  ARM Cortex-M3內核與STM32微控制器	23
2.1  嵌入式系統基礎知識	23
2.1.1  馮·諾依曼結構與哈佛結構	23
2.1.2  ARM存儲模式	25
2.1.3  CISC和RISC	26
2.1.4  流水線技術	28
2.2  ARM	29
2.2.1  ARM介紹	29
2.2.2  ARM體系結構	30
2.3  ARM Cortex-M3	33
2.3.1  內核架構	34
2.3.2  寄存器	37
2.3.3  存儲結構	38
2.3.4  中斷與異常(NVIC)	40
2.4  STM32微控制器結構	42
2.4.1  STM32系統結構	42
2.4.2  STM32總線結構	42
2.4.3  STM32存儲結構	43
2.4.4  STM32中斷系統	45
2.4.5  STM32時鐘系統	47
本章小結	48
習題與思考	48
第3章  STM32開發環境搭建	51
3.1  STM32介紹	51
3.2  STM32開發模式	56
3.2.1  寄存器開發模式	57
3.2.2  標準外設庫開發模式	58
3.2.3  HAL庫開發模式	59
3.3  開發平臺的搭建	60
3.3.1  嵌入式開發環境	60
3.3.2  集成開發環境Keil	62
3.3.3  下載和安裝Packs包	63
3.4  基於標準外設庫開發平臺的搭建	66
3.4.1  STM32標準外設庫文件結構	66
3.4.2  基於標準外設庫新建工程模板	73
3.5  基於HAL庫開發平臺的搭建	85
3.5.1  Java運行環境的安裝	85
3.5.2  安裝STM32CubeMX軟件	85
3.5.3  STM32CubeF1庫文件結構	87
3.5.4  STM32CubeMX生成的工程架構解析	88
本章小結	95
習題與思考	95
第4章  STM32最小系統與嵌入式C語言	98
4.1  STM32最小系統	98
4.1.1  電源電路	99
4.1.2  晶振電路	100
4.1.3  復位電路	101
4.1.4  調試和下載電路	102
4.2  嵌入式C語言	104
4.2.1  STM32的數據類型	105
4.2.2  const關鍵字	107
4.2.3  static關鍵字	108
4.2.4  volatile關鍵字	109
4.2.5  extern關鍵字	110
4.2.6  struct結構體	111
4.2.7  enum	112
4.2.8  typedef	113
4.2.9  #define	115
4.2.10  #ifdef、#ifndef、#else、#if條件編譯	116
4.2.11  指針	119
4.2.12  回調函數	124
4.3  HAL庫文件源代碼分析	125
4.3.1  stm32f1xx.h	125
4.3.2  stm32f103xe.h	129
4.3.3  stm32f1xx_hal.c和stm32f1xx_hal.h	134
4.3.4  stm32f1xx_hal_gpio.c和stm32f1xx_hal_gpio.h	137
本章小結	139
習題與思考	140
第5章  通用輸入/輸出	142
5.1  GPIO概述	142
5.2  STM32的GPIO	143
5.2.1  GPIO引腳	144
5.2.2  GPIO內部結構	145
5.2.3  GPIO工作模式	146
5.2.4  GPIO輸出速度	148
5.3  GPIO標準外設庫接口函數及應用	149
5.3.1  GPIO標準外設庫接口函數	149
5.3.2  GPIO標準外設庫應用實例	152
5.3.3  基於標準外設庫開發的一般流程	154
5.4  GPIO的HAL庫接口函數及應用	156
5.4.1  GPIO的HAL庫接口函數	156
5.4.2  GPIO的HAL庫應用實例	161
5.4.3  基於HAL庫開發的一般流程	174
5.5  編程思想之模塊化編程	175
本章小結	178
習題與思考	179
第6章  中斷	182
6.1  中斷的相關概念	182
6.1.1  什麼是中斷	182
6.1.2  為什麼使用中斷	183
6.1.3  中斷處理流程	183
6.2  STM32中斷和異常	185
6.2.1  STM32中斷和異常向量表	185
6.2.2  STM32中斷優先級	190
6.2.3  STM32中斷服務程序	192
6.3  STM32外部中斷EXTI	192
6.4  EXTI標準外設庫接口函數及應用	195
6.4.1  EXTI標準外設庫接口函數	195
6.4.2  EXTI標準外設庫中斷應用編程步驟	197
6.4.3  EXTI標準外設庫應用實例	198
6.5  EXTI的HAL庫接口函數及應用	201
6.5.1  EXTI的HAL庫接口函數	201
6.5.2  EXTI的HAL庫應用實例	202
本章小結	208
習題與思考	209
第7章  串口通信	212
7.1  通信概述	212
7.2  異步串行通信	215
7.2.1  異步串行通信協議	215
7.2.2  異步串行通信接口	216
7.3  STM32的USART模塊	217
7.3.1  USART的內部結構	218
7.3.2  USART接口	220
7.3.3  USART的編程方式	221
7.4  USART標準外設庫接口函數及應用	223
7.4.1  USART標準外設庫接口函數	223
7.4.2  USART串口應用編程步驟	227
7.4.3  USART標準外設庫應用實例	228
7.5  USART的HAL庫接口函數及應用	233
7.5.1  USART的HAL庫接口函數	233
7.5.2  USART的HAL庫應用實例	237
7.5.3  USART應用實例拓展	243
7.6  編程思想之自定義串口通信協議	245
本章小結	247
習題與思考	249
第8章  DMA	251
8.1  DMA基礎理論知識	251
8.2  STM32的DMA模塊	252
8.2.1  DMA內部結構	252
8.2.2  DMA優先權	254
8.2.3  DMA中斷請求	256
8.3  DMA標準外設庫接口函數及應用	256
8.3.1  DMA標準外設庫接口函數	256
8.3.2  DMA標準外設庫應用編程步驟	258
8.3.3  DMA標準外設庫應用實例	259
8.4  DMA的HAL庫接口函數及應用	262
8.4.1  DMA的HAL庫接口函數	262
8.4.2  DMA的HAL庫應用實例	264
本章小結	270
習題與思考	271
第9章  定時器	273
9.1  STM32定時器模塊	275
9.1.1  通用定時器	275
9.1.2  基本定時器	278
9.1.3  高級定時器	278
9.2  定時器標準外設庫接口函數及應用	279
9.2.1  定時器標準外設庫接口函數	279
9.2.2  定時器標準外設庫應用編程步驟	280
9.2.3  定時器標準外設庫應用實例	282
9.3  定時器HAL庫接口函數及應用	284
9.3.1  定時器HAL庫接口函數	284
9.3.2  定時器HAL庫應用實例	288
9.4  PWM	294
9.4.1  PWM的工作原理	295
9.4.2  PWM的標準外設庫應用實例	297
9.4.3  PWM的HAL庫應用實例	300
9.5  SysTick定時器	302
9.5.1  SysTick定時器標準外設庫函數	303
9.5.2  SysTick標準外設庫應用實例	304
9.6  編程思想之狀態機設計思想	307
本章小結	310
習題與思考	311
第10章  模擬數字轉換	314
10.1  ADC基礎理論知識	314
10.1.1  A/D轉換過程	315
10.1.2  A/D轉換的主要技術參數	315
10.2  STM32的ADC	316
10.2.1  ADC的引腳	317
10.2.2  ADC通道選擇	318
10.2.3  ADC中斷和DMA請求	319
10.2.4  ADC轉換時間	320
10.2.5  ADC數據對齊	320
10.2.6  ADC轉換模式	320
10.2.7  ADC校準	321
10.3  ADC標準外設庫接口函數及應用	321
10.3.1  ADC標準外設庫接口函數	321
10.3.2  ADC標準外設庫應用編程步驟	325
10.3.3  ADC標準外設庫應用實例	326
10.4  ADC的HAL庫接口函數及應用	330
10.4.1  ADC的HAL庫接口函數	330
10.4.2  ADC的HAL庫應用實例	332
本章小結	340
習題與思考	341
第11章  嵌入式實時操作系統FreeRTOS	344
11.1  FreeRTOS概述	345
11.1.1  FreeRTOS	345
11.1.2  FreeRTOS的數據類型和編程規範	345
11.2  FreeRTOS的任務	349
11.2.1  任務	349
11.2.2  任務調度	349
11.2.3  任務的實現機制	353
11.2.4  任務相關API函數	356
11.2.5  任務創建步驟	358
11.2.6  FreeRTOS創建任務實例	358
11.3  信號量	363
11.3.1  信號量概念	363
11.3.2  信號量實現機制	364
11.3.3  信號量應用步驟	366
11.3.4  信號量應用案例	367
11.4  事件組	372
11.4.1  事件組概念	372
11.4.2  事件組實現機制	373
11.4.3  事件組應用步驟	376
11.4.4  事件組應用案例	376
11.5  消息隊列	381
11.5.1  消息隊列概念	381
11.5.2  消息隊列實現機制	382
11.5.3  消息隊列應用步驟	387
11.5.4  消息隊列應用案例	388
本章小結	393
習題與思考	394
第12章  從模塊到項目	396
12.1  嵌入式系統的開發方式	396
12.2  嵌入式系統層次化設計	400
12.2.1  項目需求分析	400
12.2.2  系統總體架構設計	400
12.3  項目實踐:廚余垃圾智能監測系統	404
12.3.1  項目需求分析	404
12.3.2  系統總體架構設計	405
12.3.3  系統硬件設計	406
12.3.4  系統軟件設計	407
12.4  面向對象的編程思想	410
本章小結	411
習題與思考	412
參考文獻	414

 
     
    
 
     
    
 
     
     
     
     
     
     
     
     
     
     
     
     
     
    
 
     
     
     
     
    
 
    