采用由簡(jiǎn)到難的編寫思路,
首先介紹簡(jiǎn)單嵌入式發(fā)展趨勢(shì)和概念,然后逐步到功能性開發(fā),舉例分析,*后加深難度,介紹高級(jí)應(yīng)用,從而使讀者很容易理解和消化。全書共10章,第1~3章介紹了嵌入式系統(tǒng)的基本概念、常用芯片、工具和嵌入式系統(tǒng)的開發(fā)過(guò)程; 第4章介紹了配套學(xué)習(xí)板的原理圖和設(shè)計(jì)思路; 第5~7章介紹了STM32的基本使用和各種外設(shè)的驅(qū)動(dòng)以及開發(fā)應(yīng)用,并列舉了各種典型的應(yīng)用實(shí)例; 第8章介紹了c/OSⅡ在STM32上的應(yīng)用情況; 第9章詳細(xì)介紹了STM32嵌入式系統(tǒng)中可以使用的一些經(jīng)典實(shí)用算法; 第10章從實(shí)用角度列舉了支持MODBUS通信協(xié)議的通用控制器開發(fā)實(shí)例。
本書中列舉的實(shí)例具有一定難度,適合具有一定嵌入式基礎(chǔ)的讀者使用,初學(xué)者請(qǐng)參考本書提供的共享資料和開發(fā)板的應(yīng)用代碼。本書的編寫強(qiáng)調(diào)實(shí)用性和易用性,希望能解決讀者學(xué)習(xí)和開發(fā)過(guò)程中的一些實(shí)際困難和問(wèn)題。
《ARM Cortex-M3嵌入式開發(fā)及應(yīng)用(STM32系列)》采用由簡(jiǎn)到難的編寫思路講述嵌入式開發(fā)的流程,使讀者很容易進(jìn)行理解和消化。本書的編寫強(qiáng)調(diào)實(shí)用性和易用性,希望能解決大家學(xué)習(xí)和開發(fā)過(guò)程中的一些實(shí)際困難問(wèn)題。本書代碼豐富,可以有效地幫助讀者進(jìn)行嵌入式技術(shù)的理解和學(xué)習(xí),更適合動(dòng)手能力比較強(qiáng)的讀者進(jìn)行快速學(xué)習(xí)。注重代碼的實(shí)用性,讀者可以直接使用例程中的代碼開發(fā)新的應(yīng)用,并快速完成新產(chǎn)品的開發(fā)。書中各項(xiàng)技術(shù)配套了開發(fā)板,讀者可以根據(jù)書中提供的代碼在開發(fā)板上進(jìn)行學(xué)習(xí)和測(cè)試,一起達(dá)到比較好的學(xué)習(xí)效果。
張新民:男,43歲,1996年畢業(yè)于西安電子科技大學(xué)信息工程專業(yè)。主要從事嵌入式系統(tǒng)開發(fā)、自動(dòng)化控制系統(tǒng)、RFID通信系統(tǒng)的研究工作。個(gè)人專注并研究的領(lǐng)域:計(jì)算機(jī)軟件系統(tǒng)的系統(tǒng)分析及構(gòu)架設(shè)計(jì);基于ARM及DSP的嵌入式應(yīng)用系統(tǒng);基于C/OS-Ⅱ/GUI、SYS/BIOS的實(shí)時(shí)嵌入式系統(tǒng)應(yīng)用;嵌入式系統(tǒng)在工業(yè)電氣自動(dòng)化領(lǐng)域的可靠應(yīng)用。自2005年至今,先后帶領(lǐng)研發(fā)團(tuán)隊(duì)參與并主導(dǎo)了多項(xiàng)涉及國(guó)家十五、十一五及865計(jì)劃的重大專項(xiàng),并取得了突出的成績(jī)。
目錄
Contents
第1章嵌入式系統(tǒng)開發(fā)技術(shù)
1.1嵌入式開發(fā)的基本概念
1.1.1嵌入式系統(tǒng)的基本組成
1.1.2嵌入式系統(tǒng)的特點(diǎn)
1.2嵌入式系統(tǒng)發(fā)展歷史與現(xiàn)狀
1.3嵌入式系統(tǒng)的組成
1.3.1硬件層
1.3.2中間層
1.3.3系統(tǒng)軟件層
1.4嵌入式系統(tǒng)相關(guān)概念
1.4.1嵌入式處理器
1.4.2嵌入式外圍設(shè)備
1.4.3嵌入式操作系統(tǒng)
1.4.4嵌入式應(yīng)用軟件
1.5應(yīng)用領(lǐng)域
第2章ARM技術(shù)概述
2.1ARM體系構(gòu)架
2.1.1哈佛結(jié)構(gòu)
2.1.2馮·諾依曼結(jié)構(gòu)
2.2ARM的RISC結(jié)構(gòu)特性
2.3常用ARM處理器系列
2.4ARM體系結(jié)構(gòu)和技術(shù)特征
2.5ARM的流水線
2.6Thumb指令集
2.7Thumb2指令集
第3章基于STM32的嵌入式系統(tǒng)應(yīng)用開發(fā)
3.1STM32F103系列MCU簡(jiǎn)介
3.1.1MCU基本功能
3.1.2系統(tǒng)性能分析
3.2低功耗版本STM32L系列
3.3STM32的開發(fā)工具
3.4STM32的固件庫(kù)文件
3.5STM32的啟動(dòng)文件
3.6JTAG簡(jiǎn)介
3.7JTAG調(diào)試STM32F103過(guò)程
3.8SWD仿真模式
3.9JTAG接口及仿真器接口定義
3.10ISP下載器及常用工具
ARM Cortex-M3嵌入式開發(fā)及應(yīng)用(STM32系列)
第4章DevStm 4.0開發(fā)板硬件及設(shè)計(jì)
4.1電源電路
4.2MCU外圍電路
4.3復(fù)位電路
4.4晶振電路
4.5啟動(dòng)模式設(shè)置電路
4.6EEPROM電路
4.7串口電路
4.8RS485接口電路
4.9SD卡接口電路
4.10JTAG電路
4.11按鍵檢測(cè)電路
4.12開關(guān)檢測(cè)電路
4.13網(wǎng)絡(luò)接口電路
4.14PWM驅(qū)動(dòng)LED電路
4.15片載A/D轉(zhuǎn)換電路
4.16AD7708 16位高精度A/D轉(zhuǎn)換電路
4.17CAN總線接口電路
4.18OLED顯示接口電路
4.19繼電器驅(qū)動(dòng)電路
4.20SeiSite接口
4.21開發(fā)板原件PCB布局及接口指示說(shuō)明
第5章STM32基本應(yīng)用技術(shù)
5.1GPIO通用輸入/輸出接口
5.1.1GPIO端口結(jié)構(gòu)
5.1.2GPIO口輸入/輸出模式
5.1.3GPIO的庫(kù)函數(shù)操作
5.1.4GPIO使用示例
5.2系統(tǒng)滴答定時(shí)器
5.2.1SysTick端口結(jié)構(gòu)
5.2.2SysTick操作相關(guān)的庫(kù)函數(shù)
5.2.3SysTick使用示例
5.3復(fù)位、系統(tǒng)時(shí)鐘及實(shí)時(shí)時(shí)鐘RTC
5.3.1復(fù)位
5.3.2時(shí)鐘
5.3.3復(fù)位及時(shí)鐘操作相關(guān)的庫(kù)函數(shù)
5.3.4時(shí)鐘使用示例
5.4NVIC嵌套向量中斷控制器
5.4.1中斷優(yōu)先級(jí)
5.4.2中斷函數(shù)定義
5.4.3NVIC操作相關(guān)的庫(kù)函數(shù)
5.4.4NVIC使用示例
5.5EXTI外部中斷
5.5.1GPIO外部中斷
5.5.2EXTI操作相關(guān)的庫(kù)函數(shù)
5.5.3EXTI使用示例
5.6電源控制PWR
5.6.1獨(dú)立的A/D轉(zhuǎn)換器供電和參考電壓
5.6.2電池備份區(qū)域
5.6.3電壓調(diào)節(jié)器
5.6.4電源管理器
5.6.5低功耗模式
5.6.6低功耗模式下的自動(dòng)喚醒
5.6.7PWR操作相關(guān)的庫(kù)函數(shù)
5.6.8PWR使用示例
第6章STM32F103的進(jìn)階設(shè)計(jì)及應(yīng)用
6.1TIMx定時(shí)器
6.1.1TIM1和TIM8高級(jí)定時(shí)器
6.1.2普通定時(shí)器TIMx
6.1.3基本定時(shí)器TIM6和TIM7
6.1.4定時(shí)器相關(guān)的時(shí)鐘源
6.1.5計(jì)數(shù)器模式
6.1.6定時(shí)器操作相關(guān)的庫(kù)函數(shù)
6.1.7TIMx使用示例
6.2外設(shè)DMA技術(shù)
6.2.1DMA基本概念
6.2.2DMA1和DMA2請(qǐng)求詳表
6.2.3DMA操作相關(guān)的庫(kù)函數(shù)
6.2.4DMA使用示例
6.3備份域寄存器
6.3.1BKP的工作機(jī)制
6.3.2BKP操作相關(guān)的庫(kù)函數(shù)
6.3.3BKP使用示例
6.4ADC模/數(shù)轉(zhuǎn)換器
6.4.1ADC主要特征
6.4.2ADC功能介紹
6.4.3ADC操作相關(guān)的庫(kù)函數(shù)
6.4.4ADC使用示例
6.5DAC數(shù)/模轉(zhuǎn)換器
6.5.1DAC的主要特征
6.5.2DAC的功能介紹
6.5.3DAC操作相關(guān)的庫(kù)函數(shù)
6.5.4DAC使用示例
6.6看門狗定時(shí)器
6.6.1看門狗應(yīng)用介紹
6.6.2獨(dú)立看門狗IWDG
6.6.3窗口看門狗WWDG
6.6.4看門狗操作相關(guān)的庫(kù)函數(shù)
6.6.5看門狗使用示例
第7章STM32F103的通信接口及應(yīng)用
7.1USART串行通信技術(shù)
7.1.1USART介紹
7.1.2USART主要特性
7.1.3USART功能概述
7.1.4USART操作相關(guān)的庫(kù)函數(shù)
7.1.5USART使用示例
7.2SPI通信接口應(yīng)用
7.2.1SPI簡(jiǎn)介
7.2.2SPI和I2S主要特征
7.2.3SPI功能介紹
7.2.4時(shí)鐘信號(hào)的相位和極性
7.2.5SPI工作模式
7.2.6SPI操作相關(guān)的庫(kù)函數(shù)
7.2.7SPI使用示例
7.3I2C通信接口應(yīng)用
7.3.1I2C主要特點(diǎn)
7.3.2I2C功能描述
7.3.3I2C從模式
7.3.4SDA/SCL線控制
7.3.5SMBus介紹
7.3.6I2C操作相關(guān)的庫(kù)函數(shù)
7.3.7I2C使用示例
7.4CAN總線通信接口應(yīng)用
7.4.1bxCAN介紹
7.4.2bxCAN主要特點(diǎn)
7.4.3bxCAN總體描述
7.4.4bxCAN工作模式
7.4.5測(cè)試模式
7.4.6CAN操作相關(guān)的庫(kù)函數(shù)
7.4.7CAN使用示例
7.5SDIO接口應(yīng)用
7.5.1SD卡內(nèi)部及引腳示意圖
7.5.2SD卡及SPI模式引腳名稱
7.5.3Micro SD引腳示意圖
7.5.4SD模式
7.5.5SDIO操作相關(guān)的庫(kù)函數(shù)
7.5.6SDIO使用示例
第8章C/OSⅡ在STM32上的應(yīng)用
8.1C/OSⅡ的發(fā)展歷史
8.2C/OSⅡ體系結(jié)構(gòu)
8.2.1任務(wù)管理
8.3.2時(shí)間管理
8.2.3內(nèi)存管理
8.2.4通信同步
8.3C/OSⅡ關(guān)鍵函數(shù)
8.4C/OSⅡ中斷編程
8.5C/OSⅡ的學(xué)習(xí)方法
8.6C/OSⅡ的使用實(shí)例解析
第9章STM32中嵌入式應(yīng)用信號(hào)處理算法
9.1線性濾波算法
9.1.1卡爾曼濾波算法應(yīng)用
9.1.2卡爾曼濾波算法機(jī)理
9.1.3簡(jiǎn)單例子
9.2常用濾波算法
9.2.1程序判數(shù)濾波
9.2.2中值濾波
9.2.3滑動(dòng)算術(shù)平均值濾波
9.2.4滑動(dòng)加權(quán)平均值濾波
9.2.5防脈沖干擾平均值濾波
9.2.6低通數(shù)字濾波
9.3PID過(guò)程控制算法
9.3.1模擬控制系統(tǒng)
9.3.2微機(jī)過(guò)程控制系統(tǒng)
9.3.3數(shù)字控制系統(tǒng)
9.3.4模擬PID調(diào)節(jié)器
9.3.5數(shù)字PID控制器
9.3.6PID算法的程序流程
9.3.7標(biāo)準(zhǔn)PID算法的改進(jìn)
9.3.8積分項(xiàng)的改進(jìn)
9.3.9采樣周期的選擇
9.3.10數(shù)字PID控制的參數(shù)選擇
9.3.11數(shù)字PID控制的工程實(shí)現(xiàn)
9.3.12偏差處理
9.4開關(guān)量濾波算法
第10章STM32開發(fā)工業(yè)級(jí)控制器應(yīng)用
10.1工業(yè)級(jí)控制器的基本要求
10.2基于STM32F103設(shè)計(jì)的工業(yè)級(jí)控制器設(shè)計(jì)原理圖
10.3硬件關(guān)鍵設(shè)計(jì)驅(qū)動(dòng)解析
10.3.1光耦隔離輸入檢測(cè)電路
10.3.2基于達(dá)靈頓管的信號(hào)繼電器驅(qū)動(dòng)
10.3.3OLED顯示驅(qū)動(dòng)接口驅(qū)動(dòng)
10.4Modbus通信協(xié)議
10.4.1Modbus協(xié)議概述
10.4.2Modbus協(xié)議的數(shù)據(jù)幀
10.4.3Modbus RTU通信結(jié)構(gòu)模型
10.4.4Modbus RTU協(xié)議的實(shí)現(xiàn)
參考文獻(xiàn)