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