第1章嵌入式系統(tǒng)概述
1.1單片機(jī)概述
1.1.1單片機(jī)的定義
1.1.2單片機(jī)與PC的對比
1.2嵌入式系統(tǒng)
1.3ARM是什么
1.3.1ARM公司簡介
1.3.2ARM架構(gòu)、ARM內(nèi)核與ARM單片機(jī)
1.3.3ARM CortexM3內(nèi)核概述
第2章STM32F103單片機(jī)概述
2.1單片機(jī)的手冊
2.2STM32F103單片機(jī)體系結(jié)構(gòu)概述
2.2.1ARM CortexM3內(nèi)核
2.2.2STM32F103單片機(jī)系統(tǒng)架構(gòu)
2.3什么是CMSIS
2.4STM32固件庫
基礎(chǔ)篇
第3章嵌入式程序設(shè)計(jì)中的C語言
3.1整型
3.1.1整型的位寬
3.1.2訪問硬件模塊的寄存器
3.2volatile關(guān)鍵字
3.2.1C語言編譯器的優(yōu)化功能
3.2.2用volatile關(guān)鍵字避免優(yōu)化
3.3結(jié)構(gòu)體數(shù)據(jù)類型
3.3.1struct關(guān)鍵字
3.3.2訪問單片機(jī)片上外設(shè)寄存器
3.4枚舉數(shù)據(jù)類型
3.5static關(guān)鍵字
3.5.1靜態(tài)全局變量
3.5.2靜態(tài)局部變量
3.5.3靜態(tài)函數(shù)
3.6宏定義
3.7條件編譯與頭文件
3.7.1條件編譯指令
3.7.2頭文件
3.8變量在哪里
3.8.1堆、棧和靜態(tài)區(qū)
3.8.2單片機(jī)中變量的存儲空間分配
第4章第一個STM32 項(xiàng)目
4.1開發(fā)環(huán)境與所需硬件
4.1.1搭建開發(fā)環(huán)境
4.1.2所需硬件
4.1.3所需工具
4.2創(chuàng)建第一個項(xiàng)目
4.3下載與調(diào)試程序
4.3.1安裝仿真器驅(qū)動
4.3.2在Keil軟件中配置仿真器
4.3.3編譯下載程序
4.3.4Debug調(diào)試程序
第5章深入了解項(xiàng)目模板
5.1啟動文件的作用
5.1.1定義棧和堆
5.1.2定義中斷向量表
5.1.3定義復(fù)位中斷子程序
5.2單片機(jī)的時鐘初始化
5.3stm32f10x.h頭文件的作用
5.4項(xiàng)目中的文件管理
5.4.1CMSIS固件庫文件
5.4.2項(xiàng)目中的系統(tǒng)文件
5.4.3項(xiàng)目中的用戶文件
第6章按鍵與小燈的控制GPIO模塊
6.1GPIO的輸入/輸出模式
6.1.1小燈與GPIO輸出模式
6.1.2按鍵與GPIO輸入模式
6.2GPIO的編程操作
6.2.1GPIO寄存器
6.2.2GPIO庫函數(shù)
6.2.3GPIO的按位操作位帶別名區(qū)
6.3應(yīng)用實(shí)例8段LED顯示控制
6.3.1一位8段LED顯示控制
6.3.2多位8段LED顯示控制
6.4IO引腳的電氣特性
6.4.1TTL電平
6.4.2CMOS電平
6.4.3IO引腳的電氣特性
6.4.4IO引腳控制外設(shè)
6.5IO引腳的復(fù)用功能AFIO
6.5.1IO引腳的復(fù)用功能
6.5.2AFIO重映射功能的編程操作
6.5.3調(diào)試端口的重映射功能
第7章秒表的實(shí)現(xiàn)基本定時器
7.1定時器原理概述
7.2基本定時器的工作原理
7.2.1基本定時器的結(jié)構(gòu)
7.2.2基本定時器的時鐘源
7.2.3基本定時器的計(jì)數(shù)模式
7.2.4定時時間的計(jì)算
7.2.5ARR寄存器的預(yù)裝載功能
7.3基本定時器的編程操作
7.3.1TIM6、TIM7的相關(guān)寄存器
7.3.2基本定時器的相關(guān)庫函數(shù)
7.4秒表的設(shè)計(jì)與實(shí)現(xiàn)
7.4.1秒表功能分析
7.4.2硬件選型
7.4.3硬件設(shè)計(jì)
7.4.4軟件設(shè)計(jì)
第8章中斷及中斷管理器NVIC
8.1中斷基本概念
8.1.1中斷的定義
8.1.2中斷向量表
8.1.3中斷優(yōu)先級與中斷嵌套
8.2STM32單片機(jī)的中斷管理
8.2.1中斷源與中斷向量表
8.2.2內(nèi)核中開放/禁止中斷
8.2.3中斷控制器NVIC
8.3中斷處理過程及相關(guān)接口庫
8.3.1片上硬件中斷處理過程
8.3.2中斷處理庫函數(shù)總結(jié)
8.4應(yīng)用實(shí)例中斷方式實(shí)現(xiàn)秒表計(jì)時
8.4.1定時器的更新中斷
8.4.2中斷機(jī)制實(shí)現(xiàn)計(jì)時
第9章按鍵觸發(fā)中斷EXTI模塊
9.1外部中斷/事件模塊EXTI
9.1.1EXTI功能
9.1.2EXTI寄存器
9.1.3EXTI的相關(guān)庫函數(shù)
9.1.4EXTI初始化步驟及中斷響應(yīng)過程
9.2設(shè)計(jì)實(shí)例中斷方式處理秒表按鍵
9.2.1分段計(jì)時功能
9.2.2硬件設(shè)計(jì)
9.2.3軟件設(shè)計(jì)
提高篇
第10章讓小車跑起來PWM調(diào)速
10.1通用定時器的基本定時功能
10.1.1通用定時器概述
10.1.2通用定時器的時鐘源
10.1.3通用定時器的計(jì)數(shù)模式
10.1.4通用定時器的從模式
10.1.5相關(guān)寄存器
10.1.6相關(guān)庫函數(shù)
10.1.7設(shè)計(jì)實(shí)例檢測信號頻率
10.2通用定時器的PWM輸出模式
10.2.1PWM信號
10.2.2捕獲比較通道
10.2.3PWM輸出模式
10.2.4相關(guān)寄存器
10.2.5相關(guān)庫函數(shù)
10.3電動機(jī)驅(qū)動芯片L298N
10.3.1直流電動機(jī)驅(qū)動模塊L298N
10.3.2單片機(jī)控制L298N
10.4應(yīng)用實(shí)例小車設(shè)計(jì)
10.4.1小車的硬件設(shè)計(jì)
10.4.2小車的軟件設(shè)計(jì)
實(shí)踐篇
第11章避障小車超聲波測距
11.1超聲波測距原理
11.1.1基本原理
11.1.2HCSRF05測距模塊
11.1.3單片機(jī)控制超聲波測距模塊
11.2通用定時器的輸入捕獲功能
11.2.1輸入捕獲的基本原理
11.2.2相關(guān)寄存器
11.2.3相關(guān)庫函數(shù)
11.2.4應(yīng)用實(shí)例捕獲方式實(shí)現(xiàn)測距
11.3嘀嗒定時器實(shí)現(xiàn)定時測距
11.3.1嘀嗒定時器
11.3.2嘀嗒定時器的寄存器
11.3.3相關(guān)庫函數(shù)
11.3.4嘀嗒定時器實(shí)現(xiàn)定時測距
第12章遙控小車藍(lán)牙遙控
12.1藍(lán)牙技術(shù)
12.1.1發(fā)展歷史
12.1.2基本特性
12.2HC05藍(lán)牙模塊
12.2.1功能概述
12.2.2工作原理
12.2.3AT命令
12.2.4PC串口配置藍(lán)牙模塊
12.3UART串口通信
12.3.1串口通信基本概念
12.3.2UART模塊概述
12.3.3相關(guān)寄存器
12.3.4相關(guān)庫函數(shù)
12.4應(yīng)用實(shí)例
12.4.1單片機(jī)與PC之間的串口通信
12.4.2單片機(jī)與手機(jī)之間的藍(lán)牙通信
第13章智能小車設(shè)計(jì)方案分析
13.1避障小車設(shè)計(jì)方案
13.1.1小車功能規(guī)劃
13.1.2硬件選型
13.1.3硬件設(shè)計(jì)分析
13.1.4軟件設(shè)計(jì)分析
13.2遙控小車設(shè)計(jì)方案
13.2.1小車功能規(guī)劃
13.2.2硬件需求分析
13.2.3硬件設(shè)計(jì)分析
13.2.4軟件設(shè)計(jì)分析
習(xí)題
參考文獻(xiàn)