內容簡介
本書介紹瞭意法半導體(STMicroelectronics,ST)公司的32位基於ARM Cortex-M3內核的STM32單片機原理與實踐。本書以培養學生的動手能力和增強學生的工程素養為目的,按照項目驅動的思路展開教學與實踐學習,以自製的開發闆上的程序為實例,將STM32單片機的外圍引腳特性、內部結構原理、片上外設資源、開發設計方法和應用軟件編程、μC/OS-Ⅱ操作係統原理及應用等知識傳授給讀者。
作者簡介
陳誌旺博士,副教授,自動化學報、儀器儀錶學報等專業期刊審稿人,承擔過國傢自然科學基金、國傢高技術研究發展計劃(863)等科研課題多項,發錶SCI/EI論文多篇,著有《STM32嵌入式微控製器快速上手》等多部著作,具有豐富的嵌入式係統教學與科研經驗。
目錄
第1章?嵌入式係統概述
?1.1?嵌入式係統簡介
??1.1.1?嵌入式係統定義
??1.1.2?嵌入式係統特點
??1.1.3?嵌入式係統分類
??1.1.4?嵌入式係統發展
?1.2?ARM體係結構及微處理器係列
??1.2.1?ARM公司簡介
??1.2.2?ARM體係結構簡介
?1.3?Cortex-M係列處理器簡介
?1.4?STM32係列微控製器簡介
?1.5?STM32教學開發闆
第2章?Cortex-M3體係結構
?2.1?CM3微處理器核結構
?2.2?處理器的工作模式及狀態
?2.3?寄存器
?2.4?總綫接口
?2.5?存儲器的組織與映射
??2.5.1?存儲器格式
??2.5.2?存儲器層次結構
??2.5.3?CM3存儲器組織
??2.5.4?STM32存儲器映射
??2.5.5?位綁定操作
?2.6?指令集
??2.6.1?ARM指令集
??2.6.2?Thumb指令集
??2.6.3?Thumb-2指令集
?2.7?流水綫
?2.8?異常和中斷
?2.9?存儲器保護單元MPU
?2.10?STM32微控製器概述
??2.10.1?STM32命名
??2.10.2?STM32內部資源
第3章?STM32最小係統
?3.1?電源電路
??3.1.1?供電方案
??3.1.2?電源管理器
??3.1.3?低功耗模式
?3.2?時鍾電路
??3.2.1?HSE時鍾和HSI時鍾
??3.2.2?PLL
??3.2.3?LSE時鍾和LSI時鍾
??3.2.4?係統時鍾SYSCLK
??3.2.5?RCC寄存器
?3.3?復位電路
?3.4?STM32啓動
?3.5?程序下載電路
?3.6?STM32最小係統
第4章?STM32程序設計
?4.1?嵌入式軟件層次結構
?4.2?Cortex微控製器軟件接口標準
?4.3?FWLib固件庫
??4.3.1?STM32標準外設庫
??4.3.2?固件庫命名規則
??4.3.3?數據類型和結構
??4.3.4?固件庫的應用
?4.4?嵌入式C程序特點
?4.5?開發環境簡介
第5章?GPIO原理及應用
?5.1?GPIO的硬件結構和功能
??5.1.1?GPIO硬件結構
??5.1.2?復用功能
??5.1.3?GPIO輸入功能
??5.1.4?GPIO輸齣功能
??5.1.5?GPIO速度選擇
??5.1.6?鉗位功能
?5.2?GPIO寄存器
?5.3?GPIO庫函數
?5.4?庫函數和寄存器的關係
?5.5?應用實例
第6章?EXTI原理及應用
?6.1?STM32中斷通道
?6.2?STM32中斷的過程
?6.3?NVIC硬件結構及軟件配置
??6.3.1?NVIC硬件結構
??6.3.2?STM32中斷優先級
??6.3.3?中斷嚮量錶
??6.3.4?NVIC寄存器
??6.3.5?NVIC庫結構
?6.4?EXTI硬件結構及軟件配置
??6.4.1?EXTI硬件結構
??6.4.2?中斷及事件
??6.4.3?EXTI中斷通道和中斷源
??6.4.4?EXTI寄存器
??6.4.5?EXTI庫函數
?6.5?應用實例
??6.5.1?按鍵中斷
??6.5.2?中斷嵌套案例1
??6.5.3?中斷嵌套案例2
第7章?USART原理及應用
?7.1?端口重映射
?7.2?USART功能和結構
??7.2.1?USART功能
??7.2.2?USART結構
?7.3?USART幀格式
?7.4?波特率設置
?7.5?硬件流控製
?7.6?USART中斷請求
?7.7?USART寄存器
?7.8?USART庫函數
?7.9?USART應用實例
??7.9.1?直接傳送方式
??7.9.2?中斷傳送方式
??7.9.3?串口Echo迴應程序
??7.9.4?利用printf()的串口編程
第8章?定時器原理及應用
?8.1?STM32定時器概述
?8.2?通用定時器TIMx功能
?8.3?通用定時器TIMx結構
??8.3.1?時鍾源選擇
??8.3.2?時基單元
??8.3.3?捕獲和比較通道
??8.3.4?計數器模式
??8.3.5?定時時間的計算
??8.3.6?定時器中斷
?8.4?通用定時器TIMx寄存器
?8.5?通用定時器TIMx庫函數
?8.6?TIM2應用實例
??8.6.1?秒錶
??8.6.2?輸齣比較案例1
??8.6.3?輸齣比較案例2
??8.6.4?PWM輸齣
??8.6.5?PWM輸入捕獲
?8.7?RTC的功能及結構
??8.7.1?RTC的基本功能
??8.7.2?RTC的內部結構
?8.8?RTC控製寄存器
?8.9?備份寄存器
?8.10?電源控製寄存器
?8.11?RTC相關的RCC寄存器
?8.12?RTC應用實例
?8.13?係統時鍾SysTick簡介
?8.14?SysTick寄存器
??8.14.1?控製及狀態寄存器(SYSTICKCSR)
??8.14.2?重載寄存器(SYSTICKRVR)
??8.14.3?當前值寄存器(SYSTICKCVR)
??8.14.4?校準值寄存器(SYSTICKCALVR)
?8.15?SysTick應用實例
第9章?DMA原理及應用
?9.1?DMA簡介
?9.2?DMA的功能及結構
??9.2.1?DMA的功能
??9.2.2?DMA結構
?9.3?DMA寄存器
?9.4?DMA庫函數
第10章?ADC原理及應用
?10.1?ADC的功能及結構
?10.2?ADC的工作模式
?10.3?數據對齊
?10.4?ADC中斷
?10.5?ADC寄存器
?10.6?ADC庫函數
?10.7?應用實例
第11章?μC/OS-II嵌入式操作係統基礎
?11.1?操作係統的功能
?11.2?操作係統的基本概念
??11.2.1?進程和綫程
??11.2.2?實時操作係統RTOS
??11.2.3?其他概念
??11.2.4?應用程序在操作係統上的執行過程
?11.3?操作係統的分類
??11.3.1?單體結構
??11.3.2?層次結構
??11.3.3?微內核結構
?11.4?μC/OS-II簡介
??11.4.1?μC/OS-II的主要特點
??11.4.2?μC/OS-II工作原理
??11.4.3?μC/OS-II的程序設計模式
?11.5?μC/OS-II移植
??11.5.1?移植條件
??11.5.2?移植步驟
??11.5.3?內核頭文件(OS_CPU?H)
??11.5.4?與處理器相關的匯編代碼(OS_CPU_A?ASM)
??11.5.5?與CPU相關的C函數和鈎子函數(OS_CPU_C?C)
第12章?μC/OS-Ⅱ的內核機製
?12.1?μC/OS-II內核結構
??12.1.1?μC/OS-II的任務
??12.1.2?臨界代碼
??12.1.3?任務控製塊
??12.1.4?就緒錶
??12.1.5?任務的調度
??12.1.6?中斷處理
??12.1.7?時鍾節拍
??12.1.8?任務的初始化
??12.1.9?任務的啓動
?12.2?μC/OS-II的任務管理
??12.2.1?創建任務
??12.2.2?刪除任務
??12.2.3?請求刪除任務
??12.2.4?改變任務優先級
??12.2.5?掛起任務
??12.2.6?恢復任務
??12.2.7?任務調度實例
?12.3?μC/OS-II的時間管理
??12.3.1?延時函數
??12.3.2?恢復延時任務
??12.3.3?係統時間
?12.4?任務間的通信與同步
??12.4.1?事件控製塊
??12.4.2?信號量
??12.4.3?信號量實例
第13章?嵌入式係統綜閤設計實例
?13.1?嵌入式係統開發過程
?13.2?自平衡小車基本功能
?13.3?硬件結構
??13.3.1?電氣控製係統整體結構
??13.3.2?加速度計
??13.3.3?陀螺儀
?13.4?控製算法設計
??13.4.1?角度檢測算法設計
??13.4.2?運動控製算法設計
附錄A?嵌入式係統常用縮寫和關於端口讀/寫的縮寫錶示
附錄B?Cortex-M3指令清單
附錄C?51單片機與STM32微控製器的比較
?C.1?硬件:寄存器
?C.2?硬件:存儲器空間
?C.3?硬件:堆棧
?C.4?硬件:外設
?C.5?硬件:異常和中斷
?C.6?軟件:數據類型
?C.7?軟件:浮點
?C.8?軟件:中斷服務程序
?C.9?軟件:非對齊數據
?C.10?軟件:故障異常
?C.11?軟件:設備驅動程序和CMSIS
?C.12?軟件:混用C語言和匯編程序
?C.13?其他比較
附錄D?STM32實驗闆原理圖
參考文獻
前言/序言
STM32嵌入式微控製器快速上手(第2版) 下載 mobi epub pdf txt 電子書 格式