本書講述了STM32的學(xué)習(xí)與開發(fā)知識(shí),讀者從無到有地學(xué)習(xí)一款芯片,不僅能夠掌握學(xué)習(xí)芯片知識(shí)的方法,而且能夠?qū)η度胧侥K的開發(fā)有所了解。本書主要介紹Cortex-M3系列STM32的工作原理及應(yīng)用。本書共20章,包括:嵌入式的基本概念;ARM的體系結(jié)構(gòu);本書所用開發(fā)板硬件介紹;系統(tǒng)時(shí)鐘及匯編;GPIO控制LED實(shí)現(xiàn);UART實(shí)驗(yàn);ADC的應(yīng)用;定時(shí)器的介紹;中斷實(shí)驗(yàn);STM32的功能模塊及常用協(xié)議介紹;μC/OS-II操作系統(tǒng)基礎(chǔ)及應(yīng)用;項(xiàng)目管理及開發(fā)流程介紹;KEIL集成開發(fā)環(huán)境介紹及建立STM32項(xiàng)目模板。本書面向立志于ARM嵌入式開發(fā)的初學(xué)者,以及從單片機(jī)向ARM處理器轉(zhuǎn)型的工程技術(shù)人員。本書可作為高校電子相關(guān)專業(yè)教材,也可以作為想從事嵌入式開發(fā)領(lǐng)域的高校畢業(yè)生的自學(xué)教材,還可作為目前正在做8/16位單片機(jī)開發(fā)并且想轉(zhuǎn)做ARM芯片開發(fā)的工程師的參考手冊(cè)。
楊余柳,畢業(yè)于中南大學(xué),有8年電子行業(yè)產(chǎn)品開發(fā)經(jīng)驗(yàn)。先后供職于富士康科技集團(tuán)(北京)和北京索愛普天移動(dòng)通信有限公司,從事索尼愛立信(現(xiàn)索尼)手機(jī)測(cè)試設(shè)備開發(fā)工作。目前就職于深圳信盈達(dá)電子有限公司,從事嵌入式產(chǎn)品開發(fā)和教研工作。張葉茂,碩士研究生,高校講師職稱,南寧職業(yè)技術(shù)學(xué)院應(yīng)用電子技術(shù)專業(yè)和智能產(chǎn)品開發(fā)專業(yè)的負(fù)責(zé)人。近5年來一直從事高校電子技術(shù)、嵌入式技術(shù)的教學(xué)和科研工作,主持和參與了市廳級(jí)以上科研項(xiàng)目3項(xiàng)、申請(qǐng)專利5項(xiàng)、發(fā)表中文核心論文5篇。倫硯波,畢業(yè)于中原工學(xué)院,有7年電子行業(yè)產(chǎn)品開發(fā)經(jīng)驗(yàn),先后參與了智能汽車充電樁和智能樓宇等物聯(lián)網(wǎng)項(xiàng)目的開發(fā),目前就職于深圳信盈達(dá)電子有限公司,從事嵌入式產(chǎn)品研發(fā)和教研工作。
第1章ARM和嵌入式系統(tǒng)介紹
1.1ARM微處理器概述
1.1.1ARM簡(jiǎn)介
1.1.2ARM微處理器的應(yīng)用領(lǐng)域及特點(diǎn)
1.1.3ARM微處理器系列
1.1.4ARM微處理器結(jié)構(gòu)
1.1.5ARM微處理器的應(yīng)用選型
1.2嵌入式系統(tǒng)的概念
1.2.1嵌入式系統(tǒng)定義
1.2.2嵌入式發(fā)展過程
1.3嵌入式操作系統(tǒng)
1.3.1概述
1.3.2操作系統(tǒng)
1.3.3實(shí)時(shí)操作系統(tǒng)(RTOS)
1.3.4通用型操作系統(tǒng)
1.3.5嵌入式常見的幾個(gè)概念
1.3.6常見的嵌入式操作系統(tǒng)
第2章ARM體系結(jié)構(gòu)
2.1ARM體系結(jié)構(gòu)的特點(diǎn)
2.2各ARM體系結(jié)構(gòu)版本
2.3Cortex-M3簡(jiǎn)介
2.4寄存器
2.5操作模式和特權(quán)級(jí)別
2.6內(nèi)建的嵌套向量中斷控制器
2.7存儲(chǔ)器映射
2.8總線接口
2.9存儲(chǔ)器保護(hù)單元(MPU)
2.10指令集
2.11中斷和異常
第3章Cortex-M3控制器及外圍硬件簡(jiǎn)介
3.1STM32簡(jiǎn)介
3.2STM32F103RBT6特性
3.3訂購信息
3.4STM32系列內(nèi)部結(jié)構(gòu)方框圖
3.5外圍硬件介紹
第4章指令集和時(shí)鐘
4.1Thumb-2指令集介紹
4.2指令格式
4.3Cortex-M3時(shí)鐘控制
第5章GPIO實(shí)驗(yàn)
5.1GPIO簡(jiǎn)介
5.2GPIO功能特點(diǎn)
5.3與GPIO相關(guān)的寄存器
5.4原理圖
5.5GPIO配置過程
5.6GPIO實(shí)驗(yàn)范例
5.7作業(yè)
第6章UART實(shí)驗(yàn)
6.1UART簡(jiǎn)介
6.2UART特性
6.3串口如何工作
6.4與UART相關(guān)寄存器
6.4.1狀態(tài)寄存器(USART_SR)
6.4.2數(shù)據(jù)寄存器(USART_DR)
6.4.3波特比率寄存器(USART_BRR)
6.4.4控制寄存器1(USART_CR1)
6.4.5控制寄存器2(USART_CR2)
6.4.6控制寄存器3(USART_CR3)
6.4.7保護(hù)時(shí)間和預(yù)分頻寄存器(USART_GTPR)
6.5硬件連接
6.6程序編程步驟
6.7范例程序
6.8作業(yè)
第7章模/數(shù)轉(zhuǎn)換
7.1A/D簡(jiǎn)介
7.2A/D的主要參數(shù)
7.3STM32系列A/D轉(zhuǎn)換特點(diǎn)
7.4與A/D相關(guān)的寄存器
7.4.1ADC狀態(tài)寄存器(ADC_SR)
7.4.2ADC控制寄存器1(ADC_CR1)
7.4.3ADC控制寄存器2(ADC_CR2)
7.4.4ADC采樣時(shí)間寄存器1(ADC_SMPR1)
7.4.5ADC采樣時(shí)間寄存器2(ADC_SMPR2)
7.4.6ADC注入通道數(shù)據(jù)偏移寄存器x (ADC_JOFRx)(x=1,…,4)
7.4.7ADC看門狗高閾值寄存器(ADC_HTR)
7.4.8ADC看門狗低閾值寄存器(ADC_LRT)
7.4.9ADC規(guī)則序列寄存器1(ADC_SQR1)
7.4.10ADC規(guī)則序列寄存器2(ADC_SQR2)
7.4.11ADC規(guī)則序列寄存器3(ADC_SQR3)
7.4.12ADC注入序列寄存器(ADC_JSQR)
7.4.13ADC 注入數(shù)據(jù)寄存器x(ADC_JDRx) (x=1,…,4)
7.4.14ADC規(guī)則數(shù)據(jù)寄存器(ADC_DR)
7.5硬件連接
7.6范例程序
第8章定時(shí)器實(shí)驗(yàn)
8.1通用定時(shí)器簡(jiǎn)介
8.2STM32系列通用定時(shí)器特點(diǎn)
8.3與基本定時(shí)器相關(guān)的寄存器
8.4范例程序
8.5作業(yè)
第9章中斷實(shí)驗(yàn)
9.1中斷簡(jiǎn)介
9.2STM32中斷特性
9.3中斷向量表
9.4范例程序
9.5作業(yè)
第10章RTC實(shí)驗(yàn)
10.1STM32系列RTC特點(diǎn)
10.2與RTC相關(guān)的寄存器
10.3范例程序
10.4作業(yè)
第11章IIC實(shí)驗(yàn)
11.1STM32系列IIC特點(diǎn)
11.2與IIC相關(guān)的寄存器
11.3范例程序
第12章看門狗實(shí)驗(yàn)
12.1STM32系列IWDG特點(diǎn)
12.2與IWDG相關(guān)的寄存器
12.3范例程序
12.3.1獨(dú)立看門狗程序
12.3.2窗口看門狗程序
第13章SPI實(shí)驗(yàn)
13.1SPI簡(jiǎn)介
13.2SPI特點(diǎn)
13.3與SPI相關(guān)的寄存器
13.4范例程序
第14章CAN BUS實(shí)驗(yàn)
14.1CAN簡(jiǎn)介
14.2bxCAN主要特點(diǎn)
14.3CAN相關(guān)的寄存器
14.4范例程序
第15章協(xié)處理器DMA
15.1DMA簡(jiǎn)介
15.2DMA控制器的功能特點(diǎn)
15.3DMA相關(guān)控制模塊
第16章USB
16.1USB外設(shè)特點(diǎn)
16.2USB硬件分析
第17章μC/OS-II操作系統(tǒng)基礎(chǔ)
17.1為什么要用操作系統(tǒng)
17.2初識(shí)μC/OS-II
17.3μC/OS-II基礎(chǔ)知識(shí)
17.3.1任務(wù)的概念
17.3.2任務(wù)的狀態(tài)
17.3.3系統(tǒng)調(diào)度和任務(wù)切換
17.3.4任務(wù)的分類
17.3.5任務(wù)間同步與通信
17.4μC/OS-II移植
17.5μC/OS-II系統(tǒng)源碼
17.5.1uc/OS系統(tǒng)核心文件(跟硬件無關(guān))
17.5.2和CPU相關(guān)的文件
17.5.3頭文件組成
17.6μC/OS-II裁剪
第18章μC/OS-II應(yīng)用
18.1任務(wù)管理
18.2時(shí)間管理
18.3任務(wù)間通信
18.3.1信號(hào)量
18.3.2消息郵箱
18.3.3消息隊(duì)列
18.3.4互斥型信號(hào)量
18.3.5事件標(biāo)志組
18.4軟件定時(shí)器
18.5內(nèi)存管理
18.6臨界區(qū)處理宏
18.7其他函數(shù)
第19章項(xiàng)目實(shí)戰(zhàn)
19.1項(xiàng)目管理知識(shí)
19.2C語言編程規(guī)范
19.2.1編程總原則
19.2.2編程舉例
19.2.3注釋
19.2.4變量命名
19.2.5編輯風(fēng)格
19.3ARM項(xiàng)目范例講解
第20章KEIL集成開發(fā)環(huán)境介紹及應(yīng)用
參考文獻(xiàn)