第1章微計算機繫統基礎知識
1.1概述
1.2微計算機的基本構成
1.2.1基本概念
1.2.2馮·諾伊曼和哈佛結構
1.2.38086/8088與ARM體繫
1.2.4微計算機編程與操作繫統
1.3數制與編碼
1.3.1二進制/十進制/十六進制
1.3.2數制間的轉換
1.3.3數值數據編碼
1.3.4字符數據編碼
1.4微計算機應用領域
第2章CortexM3體繫結構與芯片
2.1概述
2.2CortexM3內核結構
2.2.1CortexM3內核組成與特點
2.2.2CortexM3總線
2.3基於CortexM3內核的處理器體繫結構
2.3.1工作模式
2.3.2三級流水線
2.3.3寄存器
2.4存儲器結構及其管理機制
2.4.1存儲器分類與特點
2.4.2CortexM3存儲器分區
2.4.3CortexM3非對齊訪問和互斥訪問
2.5中斷以及異常
2.5.1中斷及異常的概念
2.5.2CortexM3中斷控制器NVIC
2.5.3CortexM3繫統級中斷與異常特點
2.5.4CortexM3中斷及異常嵌套與返回途徑
2.5.5高級中斷技術
2.6基於CortexM3內核的STM32處理器
2.6.1STM32處理器特點
2.6.2編程模式與調試工具簡述
第3章STM32F1繫列處理器
3.1STM32F1繫列處理器簡介
3.2STM32F103ZET6處理器架構和主要特性
3.2.1芯片和引腳定義
3.2.2繫統架構
3.2.3主要特性
3.3STM32F103ZET6的時鐘樹
3.4STM32F103ZET6存儲器組織及其映像
3.5最小繫統
3.5.1復位電路
3.5.2時鐘電路
3.5.3電源DCDC轉換電路
3.5.4繫統調試電路JTAG
3.5.5其他輔助電路
3.6STM32最小繫統和拓展實驗平臺
3.7STM32實驗環境構建
3.8STM32軟件開發與仿真環境構建
第4章STM32程序設計
4.1彙編語言簡介
4.1.1計算機語言
4.1.2彙編語言的語法結構
4.2尋址方式與指令繫統
4.2.1CortexM3指令組成結構
4.2.2尋址方式
4.2.3CortexM3指令集
4.3基於CortexM3處理器的彙編語言程序設計
4.3.1ARM彙編語言中的常量、變量、表達式及運算符
4.3.2偽指令
4.3.3程序設計思想
4.3.4程序示例
4.4C固件庫使用與編程
4.4.1直接操作寄存器與固件庫開發
4.4.2CMSIS標準與STM32標準庫
4.4.3固件庫的C語言知識
4.4.4固件庫函數使用與編程
第5章通用輸入/輸出接口
5.1GPIO接口概述
5.2GPIO接口基本功能
5.2.1GPIO
5.2.2接口位設置或位清除
5.2.3外部中斷/喚醒線
5.2.4接口復用功能及其配置
5.2.5軟件重新映射GPIO復用功能
5.2.6GPIO接口的鎖定機制
5.2.7輸入和輸出配置
5.3GPIO寄存器及其功能配置
5.3.1x接口配置低寄存器GPIOx_CRL
5.3.2x接口配置高寄存器GPIOx_CRH
5.3.3x接口輸入/輸出數據寄存器GPIOx_IDR和GPIOx_ODR
5.3.4接口位設置/清除寄存器GPIOx_BSRR
5.3.5接口位清除寄存器GPIOx_BRR
5.3.6接口配置鎖定寄存器GPIOx_LCKR
5.4RCC時鐘模塊寄存器
5.4.1時鐘控制和配置寄存器RCC_CR和RCC_CFGR
5.4.2時鐘中斷寄存器RCC_CIR
5.4.3APB1/2外設復位寄存器RCC_APB1RSTR和RCC_APB2RSTR
5.4.4AHB外設時鐘使能寄存器RCC_AHBENR
5.4.5APB1/2外設時鐘使能寄存器RCC_APB1ENR和RCC_APB2ENR
5.4.6備份域控制寄存器RCC_BDCR
5.4.7控制/狀態寄存器RCC_CSR
5.5通用輸入輸出GPIO接口使用
5.5.1利用C語言直接操作寄存器方法訪問GPIO方法
5.5.2利用固件庫函數方法訪問GPIO接口方法
第6章中斷和事件
6.1ARM STM32的中斷源
6.1.1STM32F103ZET6中斷和異常向量
6.1.2ARM STM32中斷優先級
6.2ARM STM32中斷管理機制
6.2.1向量中斷寄存器
6.2.2中斷設置流程
6.3外部中斷/事件控制器EXTI
6.3.1EXTI結構與管理機制
6.3.2外部中斷/事件控制器EXTI相關寄存器
6.4外部中斷的使用
第7章STM32定時器
7.1定時器原理
7.1.1基本定時器
7.1.2通用定時器
7.1.3高級定時器
7.1.4滴答定時器
7.2定時器中斷應用
7.2.1硬件設計
7.2.2軟件設計
7.3定時器PWM輸出應用
7.3.1脈寬調制
7.3.2實現PWM輸出相關寄存器
7.3.3硬件配置
7.3.4軟件設計
7.4定時器輸入捕獲應用
7.4.1定時器輸入捕獲簡介
7.4.2硬件配置
7.4.3軟件設計
第8章串行通信
8.1串行通信的相關概念
8.1.1串行通信與並行通信
8.1.2串行通信的分類
8.1.3串行異步通信的數據傳輸形式
8.2STM32通用同步/異步收發器
8.2.1USART概述
8.2.2USART通信
8.2.3USART固件庫函數
8.2.4USART應用示例
8.3STM32處理器的SPI
8.3.1SPI概述
8.3.2SPI通信
8.3.3SPI固件庫函數
8.3.4SPI接口應用例
8.4STM32處理器的I2C接口
8.4.1I2C接口概述
8.4.2I2C接口通信
8.4.3I2C接口固件庫函數
8.4.4I2C接口應用示例
第9章ADC和DAC接口
9.1模擬量
9.2ADC工作原理及性能指標
9.2.1ADC原理
9.2.2ADC的性能指標
9.3STM32處理器ADC的構造及特性
9.3.1硬件結構
9.3.2功能特性
9.4STM32處理器ADC功能配置
9.5STM32處理器ADC寄存器
9.6STM32 ADC應用
9.6.1STM32 ADC固件庫函數
9.6.2STM32 ADC應用示例
9.7DAC工作原理及性能指標
9.7.1DAC工作原理
9.7.2DAC性能指標
9.8STM32處理器DAC模塊硬件及特性
9.8.1STM32 DAC硬件
9.8.2功能特性
9.9STM32 DAC功能配置
9.10STM32 DAC寄存器
9.11STM32處理器的DAC應用
9.11.1STM32 處理器的DAC固件庫函數
9.11.2STM32 DAC應用示例
第10章DMA和FSMC控制器
10.1DMA簡介
10.2DMA結構與功能
10.2.1DMA主要特征
10.2.2DMA寄存器
10.2.3DMA通道
10.2.4DMA中斷請求
10.2.5DMA仲裁器
10.2.6DMA請求映射
10.3DMA重要固件庫函數
10.4DMA存儲器到外設模式操作示例
10.5FSMC簡介
10.6FSMC結構與功能
10.6.1FSMC功能特點
10.6.2AHB總線接口
10.6.3外部設備接口
10.6.4FSMC寄存器
10.6.5FSMC的地址映射
10.7FSMC重要固件庫函數
10.8FSMC對TFTLCD液晶屏幕操作例
第11章FreeRTOS實時操作繫統
11.1FreeRTOS簡介
11.2FreeRTOS基礎知識
11.2.1FreeRTOS繫統配置
11.2.2FreeRTOS中斷配置
11.2.3FreeRTOS臨界段代碼保護
11.2.4FreeRTOS任務基礎知識
11.3FreeRTOS開發重要函數
11.3.1任務創建和刪除函數
11.3.2任務掛起和恢復函數
11.4FreeRTOS信號量
11.4.1信號量簡介
11.4.2二值信號量
11.4.3計數信號量
11.4.4互斥信號量
11.4.5遞歸互斥信號量
11.5FreeRTOS移植
11.5.1繫統移植準備工作
11.5.2FreeRTOS移植
11.5.3關鍵問題解決方案
11.6FreeRTOS操作繫統使用示例
參考文獻
附錄AASCII碼表
附錄B最小實驗繫統
附錄C擴展實驗繫統
附錄D高級實驗繫統