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