出版時(shí)間:2011-9 出版社:電子工業(yè) 作者:薛園園 頁數(shù):418
Tag標(biāo)簽:無
內(nèi)容概要
本書系統(tǒng)地介紹了ARM嵌入式系統(tǒng)的基本結(jié)構(gòu)、開發(fā)和ARM處理器的編程,并結(jié)合流行的嵌入式系統(tǒng)介紹了如何移植。本書言簡意賅、通俗易懂,知識(shí)點(diǎn)覆蓋全面,詳細(xì)講述了最新的ARM
Cortex-M3內(nèi)核及STM32處理器編程,使讀者能夠更好地掌握ARM處理器及相應(yīng)的嵌入式系統(tǒng)設(shè)計(jì)。
本書分為四篇,共23章,全面詳細(xì)地講述了ARM處理器的原理、程序設(shè)計(jì)方法、ARM處理器編程指南及嵌入式系統(tǒng)移植。首先介紹了ARM處理器的構(gòu)架及如何搭建一個(gè)ARM嵌入式開發(fā)平臺(tái),接著介紹了ARM
Cortex-M3的指令集,基于Cortex-M3的STM32系列芯片及一些典型的嵌入式操作系統(tǒng)。然后結(jié)合STM32的各個(gè)功能部件詳細(xì)講解了ARM處理器的硬件編程方法。最后本書還介紹了基于ARM
Cortex-M3的STM32芯片如何移植流行的嵌入式操作系統(tǒng)。
本書附贈(zèng)DVD光盤1張,內(nèi)容包括超大容量手把手教學(xué)視頻、電子教案(PPT)、編程參考寶典電子書、源代碼及各章習(xí)題答案。
書籍目錄
第一篇 走進(jìn)嵌入式系統(tǒng)開發(fā)
第1章 嵌入式系統(tǒng)開發(fā)概述
?。?教學(xué)視頻:44分鐘)
1.1 何為嵌入式系統(tǒng)
1.1.1 嵌入式系統(tǒng)的概念
1.1.2 嵌入式系統(tǒng)的基本結(jié)構(gòu)
1.1.3 嵌入式處理器
1.2 嵌入式系統(tǒng)的特點(diǎn)及發(fā)展趨勢
1.3 嵌入式系統(tǒng)的開發(fā)過程
1.3.1 芯片選擇
1.3.2 配置硬件平臺(tái)
1.3.3 BootLoader移植
1.3.4 操作系統(tǒng)裁減
1.3.5 系統(tǒng)移植
1.3.6 應(yīng)用程序開發(fā)
1.4 如何成為嵌入式開發(fā)人員
1.5 小結(jié)
1.6 習(xí)題
第2章 嵌入式操作系統(tǒng)簡介
?。?教學(xué)視頻:37分鐘)
2.1 嵌入式操作系統(tǒng)概述
2.1.1 嵌入式操作系統(tǒng)的發(fā)展歷史
2.1.2 嵌入式操作系統(tǒng)的分類
2.1.3 嵌入式操作系統(tǒng)的特點(diǎn)
2.2 主流嵌入式操作系統(tǒng)簡介
2.2.1 VxWorks
2.2.2 pSOS
2.2.3 Palm OS
2.2.4 QNX
2.2.5 OS-9
2.2.6 LynxOS
2.2.7 Windows CE
2.2.8 μC/OS-II
2.2.9 嵌入式Linux
2.2.10 FreeRTOS
2.3 小結(jié)
2.4 習(xí)題
第3章 ARM處理器構(gòu)架
?。?教學(xué)視頻:53分鐘)
3.1 ARM體系結(jié)構(gòu)概述
3.1.1 ARM簡介
3.1.2 CISC的體系結(jié)構(gòu)
3.1.3 RISC的體系結(jié)構(gòu)
3.1.4 ARM微處理器的應(yīng)用領(lǐng)域
3.1.5 ARM體系結(jié)構(gòu)的特點(diǎn)
3.2 ARM處理器系列
3.2.1 ARM7微處理器
3.2.2 ARM9微處理器
3.2.3 ARM9E微處理器
3.2.4 ARM10E微處理器
3.2.5 ARM11微處理器
3.2.6 SecurCore微處理器
3.2.7 StrongARM微處理器
3.2.8 Xscale微處理器
3.2.9 Cortex-M3微處理器
3.2.10 基于ARM核的芯片選擇
3.3 ARM處理器結(jié)構(gòu)
3.3.1 ARM的系統(tǒng)構(gòu)架
3.3.2 ARM的流水線結(jié)構(gòu)
3.3.3 ARM的存儲(chǔ)器結(jié)構(gòu)
3.4 ARM編程模型
3.4.1 工作模式和工作狀態(tài)
3.4.2 特權(quán)訪問和用戶訪問
3.4.3 數(shù)據(jù)類型
3.4.4 存儲(chǔ)器格式
3.5 ARM開發(fā)調(diào)試工具綜述
3.6 小結(jié)
3.7 習(xí)題
第4章 搭建嵌入式開發(fā)平臺(tái)
?。?教學(xué)視頻:39分鐘)
4.1 基于ARM的RealView MDK開發(fā)
環(huán)境
4.1.1 RealView MDK簡介
4.1.2 RealView MDK系統(tǒng)安裝需求
4.1.3 RealView MDK的安裝
4.1.4 RealView MDK集成開發(fā)
環(huán)境總覽
4.1.5 RealView MDK的菜單欄
4.1.6 RealView MDK的工具欄
4.1.7 RealView MDK的快捷鍵
4.2 基于ARM Cortex-M3的STM32選型表
4.3 基于ARM Cortex-M3的STM32
最小開發(fā)系統(tǒng)
4.4 程序下載方式
4.5 小結(jié)
4.6 習(xí)題
第二篇 ARM嵌入式系統(tǒng)開發(fā)基礎(chǔ)
第5章 ARM CORTEX-M3指令集
?。?教學(xué)視頻:30分鐘)
5.1 數(shù)據(jù)傳送指令
5.1.1 寄存器間數(shù)據(jù)傳送指令
5.1.2 存儲(chǔ)器數(shù)據(jù)傳送指令
5.1.3 索引數(shù)據(jù)傳送指令
5.2 數(shù)據(jù)處理指令
5.2.1 算術(shù)四則運(yùn)算指令
5.2.2 邏輯及移位操作指令
5.2.3 數(shù)據(jù)序轉(zhuǎn)及位操作指令
5.3 子程序呼叫及轉(zhuǎn)移指令
5.4 隔離指令
5.5 不支持的指令
5.6 小結(jié)
5.7 習(xí)題
第6章 基于ARM CORTEX-M3的
STM32在應(yīng)用編程
( 教學(xué)視頻:31分鐘)
6.1 在應(yīng)用編程簡介
6.2 STM32的啟動(dòng)配置
6.3 STM32的在應(yīng)用編程
6.3.1 電路原理圖
6.3.2 BootLoader固件下載步驟
6.4 小結(jié)
6.5 習(xí)題
第7章 嵌入式實(shí)時(shí)操作系統(tǒng)FREERTOS
?。?教學(xué)視頻:42分鐘)
7.1 嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS簡介
7.2 嵌入式操作系統(tǒng)基本概念
7.2.1 多任務(wù)
7.2.2 調(diào)度
7.2.3 上下文切換
7.2.4 實(shí)時(shí)應(yīng)用和調(diào)度
7.3 FreeRTOS的API模塊
7.3.1 定制
7.3.2 任務(wù)創(chuàng)建和刪除
7.3.3 任務(wù)控制
7.3.4 內(nèi)核控制
7.4 小結(jié)
7.5 習(xí)題
第8章 嵌入式系統(tǒng)UC/OS-Ⅱ
( 教學(xué)視頻:39分鐘)
8.1 UC/OS-Ⅱ嵌入式系統(tǒng)簡介
8.2 UC/OS-Ⅱ任務(wù)管理
8.2.1 建立任務(wù)OSTaskCreate
8.2.2 建立任務(wù)OSTaskCreate Ext
8.2.3 任務(wù)堆棧
8.2.4 堆棧檢驗(yàn)OSTaskStkChk
8.2.5 刪除任務(wù)OSTaskDel
8.2.6 請求刪除任務(wù)OSTaskDelReq
8.2.7 改變?nèi)蝿?wù)的優(yōu)先級OSTask
ChangePrio
8.2.8 掛起任務(wù)OSTaskSuspend
8.2.9 恢復(fù)任務(wù)OSTaskResume
8.2.10 獲得有關(guān)任務(wù)的信息OSTaskQuery
8.3 任務(wù)之間的通信與同步
8.3.1 信號(hào)量
8.3.2 郵箱
8.3.3 消息隊(duì)列
8.4 小結(jié)
8.5 習(xí)題
第三篇 深入ARM嵌入式控制器
第9章 通用I/O接口
?。?教學(xué)視頻:48分鐘)
9.1 通用I/O接口的結(jié)構(gòu)
9.1.1 GPIO的基本結(jié)構(gòu)
9.1.2 GPIO的功能
9.1.3 GPIO的功能配置
9.1.4 復(fù)用功能與重映射
9.2 通用I/O接口的編程方法
9.2.1 GPIO寄存器結(jié)構(gòu)
9.2.2 GPIO寄存器復(fù)位函數(shù)
GPIO_DeInit
9.2.3 復(fù)用功能寄存器復(fù)位函數(shù)
GPIO_AFIODeInit
9.2.4 參數(shù)初始化函數(shù)GPIO_Init
9.2.5 復(fù)位GPIO_InitStruct函數(shù)
GPIO_StructInit
9.2.6 讀輸入引腳函數(shù)
GPIO_ReadInputDataBit
9.2.7 讀輸入端口函數(shù)
GPIO_ReadInputData
9.2.8 讀輸出引腳函數(shù)
GPIO_ReadOutputDataBit
9.2.9 讀輸出端口函數(shù)
GPIO_ReadOutputData
9.2.10 置位引腳函數(shù)GPIO_SetBits
9.2.11 清除引腳位函數(shù)GPIO_ResetBits
9.2.12 置位或清除引腳函數(shù)
GPIO_WriteBit
9.2.13 寫端口函數(shù)GPIO_Write
9.2.14 引腳配置鎖定函數(shù)
GPIO_PinLockConfig
9.2.15 選擇事件輸出引腳函數(shù)
GPIO_EventOutputConfig
9.2.16 使能事件輸出函數(shù)
GPIO_EventOutputCmd
9.2.17 改變引腳映射函數(shù)
GPIO_PinRemapConfig
9.2.18 選擇EXTI線函數(shù)
GPIO_EXTILineConfig
9.3 綜合練習(xí)
9.4 小結(jié)
9.5 習(xí)題
第10章 FLASH
?。?教學(xué)視頻:24分鐘)
10.1 Flash閃存的結(jié)構(gòu)
10.2 Flash閃存的基本特性
10.2.1 Flash閃存讀取
10.2.2 Flash閃存編程和擦除
10.3 Flash的編程方法
10.3.1 Flash寄存器結(jié)構(gòu)
10.3.2 設(shè)置代碼延時(shí)值函數(shù)
Flash_SetLatency
10.3.3 使能或禁用半周期訪問函數(shù)
Flash_HalfCycleAccessCmd
10.3.4 使能或禁用預(yù)取緩沖區(qū)函數(shù)
Flash_PrefetchBufferCmd
10.3.5 解鎖擦除控制器函數(shù)Flash_Unlock
10.3.6 鎖定擦除控制器函數(shù)Flash_Lock
10.3.7 擦除頁函數(shù)Flash_ErasePage
10.3.8 擦除全部頁函數(shù)
Flash_EraseAllPages
10.3.9 擦除選項(xiàng)字節(jié)函數(shù)
Flash_EraseOptionBytes
10.3.10 字寫入函數(shù)Flash_ProgramWord
10.3.11 半字寫入函數(shù)
Flash_ProgramHalfWord
10.3.12 寫選項(xiàng)字節(jié)函數(shù)Flash_
ProgramOptionByteData
10.3.13 頁寫保護(hù)函數(shù)Flash_
EnableWriteProtection
10.3.14 使能或禁用讀保護(hù)函數(shù)
Flash_ReadOutProtection
10.3.15 寫選項(xiàng)字節(jié)函數(shù)Flash_
UserOptionByteConfig
10.3.16 獲取選項(xiàng)字節(jié)函數(shù)Flash_
GetUserOptionByte
10.3.17 獲取寫保護(hù)選項(xiàng)字節(jié)函數(shù)Flash_
GetWriteProtectionOptionByte
10.3.18 獲取讀保護(hù)狀態(tài)函數(shù)Flash_Get
ReadOutProtectionStatus
10.3.19 獲取預(yù)取緩沖區(qū)狀態(tài)函數(shù)
Flash_GetPrefectchBufferStatus
10.3.20 使能或禁用中斷函數(shù)
Flash_ITConfig
10.3.21 獲取標(biāo)志位狀態(tài)函數(shù)
Flash_GetFlagStatus
10.3.22 清除掛起標(biāo)志函數(shù)
Flash_ClearFlag
10.3.23 獲取Flash狀態(tài)函數(shù)
Flash_GetStatus
10.3.24 等待操作結(jié)束函數(shù)Flash_
WaitForLastOperation
10.4 綜合練習(xí)
10.5 小結(jié)
10.6 習(xí)題
第11章 ADC系統(tǒng)
?。?教學(xué)視頻:52分鐘)
11.1 ADC系統(tǒng)概述
11.2 ADC系統(tǒng)功能特性
11.2.1 ADC開關(guān)控制
11.2.2 ADC時(shí)鐘
11.2.3 ADC通道選擇
11.2.4 ADC的轉(zhuǎn)換模式
11.2.5 中斷
11.2.6 模擬看門狗
11.2.7 ADC的掃描模式
11.2.8 ADC的注入通道管理
11.2.9 間斷模式
11.2.10 ADC的校準(zhǔn)模式
11.2.11 ADC的數(shù)據(jù)對齊
11.2.12 可編程的通道采樣時(shí)間
11.2.13 外部觸發(fā)轉(zhuǎn)換
11.2.14 DMA請求
11.2.15 雙ADC模式
11.2.16 溫度傳感器
11.3 ADC系統(tǒng)的編程方法
11.3.1 ADC寄存器結(jié)構(gòu)
11.3.2 ADC寄存器復(fù)位函數(shù)ADC_
DeInit
11.3.3 參數(shù)初始化函數(shù)ADC_Init
11.3.4 復(fù)位ADC_InitStruct函數(shù)
ADC_StructInit
11.3.5 使能或禁用ADC模塊函數(shù)
ADC_Cmd
11.3.6 使能或禁用DMA請求函數(shù)
ADC_DMACmd
11.3.7 使能或禁用ADC中斷函數(shù)
ADC_ITConfig
11.3.8 復(fù)位ADC校準(zhǔn)寄存器函數(shù)
ADC_ResetCalibration
11.3.9 獲取復(fù)位校準(zhǔn)寄存器狀態(tài)函數(shù)ADC_ GetResetCalibrationStatus
11.3.10 開始ADC校準(zhǔn)函數(shù)
ADC_StartCalibration
11.3.11 獲取ADC校準(zhǔn)狀態(tài)
ADC_GetCalibrationStatus
11.3.12 使能或禁用軟件轉(zhuǎn)換函數(shù)ADC_
SoftwareStartConvCmd
11.3.13 獲取軟件開始轉(zhuǎn)換狀態(tài)函數(shù)ADC_
GetSoftwareStartConvStatus
11.3.14 配置常規(guī)組非連續(xù)模式函數(shù)ADC_
DiscModeChannelCountConfig
11.3.15 使能或禁用常規(guī)組非連續(xù)模式
函數(shù)ADC_DiscModeCmd
11.3.16 配置ADC常規(guī)信道函數(shù)ADC_
RegularChannelConfig
11.3.17 使能或禁用外部觸發(fā)函數(shù)
ADC_ExternalTrigConvCmd
11.3.18 獲取轉(zhuǎn)換結(jié)果函數(shù)ADC_
GetConversionValue
11.3.19 獲取雙重轉(zhuǎn)換結(jié)果函數(shù)ADC_ GetDualModeConversionValue
11.3.20 使能或禁用自動(dòng)注入組轉(zhuǎn)換函數(shù)ADC_AutoInjectedConvCmd
11.3.21 使能或禁用非連續(xù)模式函數(shù)
ADC_InjectedDiscModeCmd
11.3.22 配置外部觸發(fā)器函數(shù)ADC_
ExternalTrigInjectedConvConfig
11.3.23 使能或禁用注入信道轉(zhuǎn)換
函數(shù) ADC_ExternalTrig
InjectedConvCmd
11.3.24 使能或禁用開始注入信道
轉(zhuǎn)換函數(shù) ADC_Software
StartInjectedConvCmd
11.3.25 獲取啟動(dòng)轉(zhuǎn)換注入狀態(tài)
函數(shù) ADC_GetSoftware
StartInjectedConvStatus
11.3.26 配置ADC注入信道函數(shù)
ADC_InjectedChannelConfig
11.3.27 配置注入信道音序器長度
函數(shù)ADC_Injected
SequencerLengthConfig
11.3.28 設(shè)置注入信道轉(zhuǎn)換值位移函數(shù)
ADC_SetInjectedOffset
11.3.29 獲取注入信道轉(zhuǎn)換結(jié)果
函數(shù)ADC_GetInjected
ConversionValue
11.3.30 使能或禁用模擬看門狗函數(shù)
ADC_AnalogWatchdogCmd
11.3.31 配置模擬看門狗域值函數(shù) ADC_AnalogWatchdog
ThresholdsConfig
11.3.32 配置模擬看門狗保護(hù)函數(shù) ADC_AnalogWatchdog
SingleChannelConfig
11.3.33 使能或禁用溫度傳感函數(shù)
ADC_TempSensorVrefintCmd
11.3.34 獲取ADC標(biāo)志函數(shù)
ADC_GetFlagStatus
11.3.35 清除掛起標(biāo)志函數(shù)
ADC_ClearFlag
11.3.36 獲取中斷函數(shù)ADC_GetITStatus
11.3.37 清除中斷掛起位函數(shù)
ADC_ClearITPendingBit
11.4 綜合練習(xí)
11.5 小結(jié)
11.6 習(xí)題
第12章 中斷系統(tǒng)
( 教學(xué)視頻:32分鐘)
12.1 嵌套向量中斷控制器(NVIC)
12.2 NVIC的編程方法
12.2.1 NVIC寄存器結(jié)構(gòu)
12.2.2 復(fù)位NVIC外設(shè)函數(shù)
NVIC_DeInit
12.2.3 復(fù)位SCB外設(shè)函數(shù)NVIC_
SCBDeInit
12.2.4 配置優(yōu)先級組函數(shù)NVIC_ PriorityGroupConfig
12.2.5 初始化NVIC外設(shè)函數(shù)
NVIC_Init
12.2.6 復(fù)位NVIC_InitStruct函數(shù)
NVIC_StructInit
12.2.7 使能PRIMASK優(yōu)先級函數(shù)
NVIC_SETPRIMASK
12.2.8 用PRIASK優(yōu)先級函數(shù)
NVIC_RESETPRIMASK
12.2.9 使能FAULTMASK優(yōu)先級函數(shù)
NVIC_SETFA- ULTMASK
12.2.10 禁用FAULTMASK優(yōu)先級函數(shù)
NVIC_RESET- FAULTMASK
12.2.11 配置執(zhí)行優(yōu)先級函數(shù)NVIC_
BASEPRICONFIG
12.2.12 獲取BASEPRI掩碼值函數(shù)
NVIC_GetBASEPRI
12.2.13 獲取掛起服務(wù)的IRQ通道
標(biāo)識(shí)符函數(shù)NVIC_GetCurrent
PendingIRQChannel
12.2.14 獲取IRQ通道掛起位函數(shù) NVIC_
GetIRQChannelPendingBitStatus
12.2.15 設(shè)置中斷掛起位函數(shù)NVIC_
GetIRQChannelPendingBit
12.2.16 清除中斷掛起位函數(shù)NVIC_
ClearIRQChannelPendingBit
12.2.17 返回活動(dòng)句柄函數(shù)NVIC_
GetCurrentActiveHandle
12.2.18 獲取IRQ通道活動(dòng)位函數(shù) NVIC_
GetIRQChannelActiveBitStatus
12.2.19 獲取ID號(hào)函數(shù)
NVIC_GetCPUID
12.2.20 設(shè)置向量表和偏移量函數(shù)
NVIC_SetVectorTable
12.2.21 系統(tǒng)復(fù)位函數(shù)NVIC_
GenerateSystemReset
12.2.22 核復(fù)位函數(shù)
NVIC_GenerateCoreReset
12.2.23 低功耗模式條件函數(shù)
NVIC_SystemLPConfig
12.2.24 使能或禁用系統(tǒng)句柄函數(shù)
NVIC_SystemHandlerConfig
12.2.25 配置系統(tǒng)句柄優(yōu)先級函數(shù)NVIC_
SystemHandlerPriorityConfig
12.2.26 獲取系統(tǒng)句柄掛起位函數(shù)
NVIC_GetSystemHandler
PendingBitStatus
12.2.27 設(shè)置系統(tǒng)句柄掛起位函數(shù)NVIC_ S
etSystemHandlerPendingBit
12.2.28 清除系統(tǒng)句柄掛起位函數(shù)NVIC_
ClearSystemHandlerPendingBit
12.2.29 獲取系統(tǒng)句柄活動(dòng)位函數(shù)
NVIC_GetSystemHandler
ActiveBitStatus
12.2.30 獲取系統(tǒng)故障句柄源函數(shù)NVIC_
GetFaultHandlerSources
12.2.31 獲取故障句柄位置函數(shù)
NVIC_GetFaultAddress
12.3 外部中斷/事件控制器(EXTI)
12.3.1 EXTI主要特性
12.3.2 EXTI功能說明
12.4 EXTI的編程方法
12.4.1 EXTI寄存器結(jié)構(gòu)
12.4.2 復(fù)位EXTI外設(shè)函數(shù)
EXTI_DeInit
12.4.3 初始化EXTI外設(shè)函數(shù)
EXTI_Init
12.4.4 復(fù)位EXTI_InitStruct函數(shù)
EXTI_StructInit
12.4.5 軟中斷函數(shù)
EXTI_GenerateSWInterrupt
12.4.6 獲取標(biāo)志狀態(tài)函數(shù)
EXTI_GetFlagStatus
12.4.7 清除掛起標(biāo)志函數(shù)
EXTI_ClearFlag
12.4.8 獲取EXTI置位函數(shù)
EXTI_GetITStatus
12.4.9 清除掛起位函數(shù)
EXTI_ClearITPendingBit
12.5 綜合練習(xí)
12.6 小結(jié)
12.7 習(xí)題
第13章 異步串行通信接口
?。?教學(xué)視頻:59分鐘)
13.1 USART結(jié)構(gòu)
13.1.1 USART特征描述
13.1.2 USART發(fā)送器
13.1.3 USART接收器
13.1.4 LIN模式
13.1.5 USART同步模式
13.1.6 USART單線半雙工通信
13.1.7 USART的智能卡功能
13.1.8 USART的IrDA模式
13.1.9 USART的DMA通信
13.1.10 USART的硬件流控制
13.1.11 USART的中斷請求
13.2 USART編程方法
13.2.1 USART寄存器結(jié)構(gòu)
13.2.2 USART寄存器復(fù)位函數(shù)
USART_DeInit
13.2.3 參數(shù)初始化函數(shù)
USART_Init
13.2.4 復(fù)位USART_InitStruct
函數(shù)USART_StrucInit
13.2.5 使能或禁用USART函數(shù)
USART_Cmd
13.2.6 使能或禁用中斷函數(shù)
USART_ITConfig
13.2.7 使能或禁用DMA函數(shù)
USART_DMACmd
13.2.8 設(shè)置節(jié)點(diǎn)地址函數(shù)
USART_SetAddress
13.2.9 選擇喚醒方式函數(shù)
USART_WakeUpConfig
13.2.10 USART模式函數(shù)USART_
ReceiverWakeUpCmd
13.2.11 LIN間隔檢波長度函數(shù)USART_
LINBreakDetectionConfig
13.2.12 使能或者禁用LIN模式
函數(shù)USART_LINCmd
13.2.13 發(fā)送數(shù)據(jù)函數(shù)USART_
SendData
13.2.14 接收數(shù)據(jù)函數(shù)USART_
ReceiveData
13.2.15 傳輸間斷字符函數(shù)
USART_SendBreak
13.2.16 設(shè)置預(yù)警時(shí)間函數(shù)
USART_SetGuardTime
13.2.17 設(shè)置時(shí)鐘預(yù)分頻器函數(shù)
USART_SetPrescaler
13.2.18 使能或者禁用智能卡模式函數(shù)
USART_SmartCardCmd
13.2.19 使能或禁用NACK函數(shù)
USART_SmartCardNackCmd
13.2.20 使能或者禁用半雙工模式函數(shù)
USART_HalfDuplexCmd
13.2.21 配置IrDA模式函數(shù)USART_ IrDAConfig
13.2.22 使能或者禁用IrDA模式
函數(shù)USART_IrDACmd
13.2.23 獲取標(biāo)志是否置位函數(shù)
USART_GetFlagStatus
13.2.24 清除未決標(biāo)志函數(shù)
USART_ClearFlag
13.2.25 獲取中斷狀態(tài)函數(shù)
USART_GetITStatus
13.2.26 清除中斷未決位函數(shù)USART_
ClearITPendingBit
13.3 CAN結(jié)構(gòu)
13.3.1 初始化模式
13.3.2 正常模式
13.3.3 睡眠模式
13.3.4 測試模式
13.3.5 靜默模式
13.3.6 環(huán)回模式
13.3.7 環(huán)回靜默模式
13.4 CAN編程方法
13.4.1 CAN寄存器結(jié)構(gòu)
13.4.2 CAN寄存器復(fù)位函數(shù)
CAN_DeInit
13.4.3 參數(shù)初始化函數(shù)CAN_Init
13.4.4 過濾參數(shù)初始化函數(shù)
CAN_FilterInit
13.4.5 復(fù)位CAN_InitStruct函數(shù)
CAN_StructInit
13.4.6 使能或禁用CAN中斷函數(shù)
CAN_ITConfig
13.4.7 初始化報(bào)文發(fā)送函數(shù)
CAN_Transmit
13.4.8 檢查報(bào)文發(fā)送函數(shù)
CAN_TransmitStatus
13.4.9 取消發(fā)送函數(shù)CAN_
CancelTransmit
13.4.10 釋放FIFO函數(shù)CAN_
FIFORelease
13.4.11 獲取掛起報(bào)文數(shù)量函數(shù)
CAN_MessagePending
13.4.12 報(bào)文接收函數(shù)CAN_Receive
13.4.13 低功耗模式函數(shù)CAN_Sleep
13.4.14 喚醒CAN模塊函數(shù)
CAN_WakeUp
13.4.15 獲取CAN標(biāo)志函數(shù)
CAN_GetFlagStatus
13.4.16 清除掛起標(biāo)志CAN_ClearFlag
13.4.17 獲取中斷狀態(tài)函數(shù)
CAN_GetITStatus
13.4.18 清除中斷掛起位函數(shù)
CAN_ClearITPendingBit
13.5 綜合練習(xí)
13.6 小結(jié)
13.7 習(xí)題
第14章 同步串行通信接口
?。?教學(xué)視頻:52分鐘)
14.1 SPI結(jié)構(gòu)
14.1.1 SPI從模式工作原理
14.1.2 SPI主模式工作原理
14.1.3 SPI通信的CRC
14.1.4 SPI的DMA通信
14.1.5 SPI的中斷請求
14.2 SPI編程方法
14.2.1 SPI寄存器結(jié)構(gòu)
14.2.2 復(fù)位SPI外設(shè)寄存器函數(shù)
SPI_DeInit
14.2.3 初始化外設(shè)SPIx寄存器
函數(shù)SPI_Init
14.2.4 設(shè)置SPI_InitStruct結(jié)構(gòu)
成員函數(shù)SPI_StructInit
14.2.5 使能或者禁用SPI外設(shè)
函數(shù)SPI_Cmd
14.2.6 使能或者禁用SPI中斷函數(shù)
SPI_ITConfig
14.2.7 使能或者禁用SPI的DMA
請求函數(shù)SPI_DMACmd
14.2.8 發(fā)送數(shù)據(jù)函數(shù)SPI_SendData
14.2.9 接收數(shù)據(jù)函數(shù)SPI_Receive
Data
14.2.10 配置NSS引腳函數(shù)SPI_
NSSInternalSoftwareConfig
14.2.11 使能或者禁用SPI SS輸出
函數(shù)SPI_SSOutputCmd
14.2.12 設(shè)置SPI數(shù)據(jù)大小函數(shù)
SPI_DataSizeConfig
14.2.13 發(fā)送CRC值函數(shù)
SPI_TransmitCRC
14.2.14 使能或者禁用CRC值計(jì)算
函數(shù)SPI_CalculateCRC
14.2.15 獲取CRC寄存器值函數(shù)
SPI_GetCRC
14.2.16 獲取CRC多項(xiàng)式寄存器值函數(shù)
SPI_GetCRCPolynomial
14.2.17 雙向模式下數(shù)據(jù)方向函數(shù)SPI_
BiDirectionalLineConfig
14.2.18 獲取SPI標(biāo)志位函數(shù)
SPI_GetFlagStatus
14.2.19 清除掛起標(biāo)志位函數(shù)
SPI_ClearFlag
14.2.20 獲取SPI中斷函數(shù)
SPI_GetITStatus
14.2.21 清除中斷掛起位函數(shù)
SPI_ClearITPendingBit
14.3 I2C結(jié)構(gòu)
14.3.1 I2C從模式工作原理
14.3.2 I2C主模式工作原理
14.3.3 SMBus功能
14.3.4 I2C的DMA功能
14.3.5 I2C的中斷請求
14.4 I2C編程方法
14.4.1 I2C寄存器結(jié)構(gòu)
14.4.2 復(fù)位I2C外設(shè)寄存器函數(shù)
I2C_DeInit
14.4.3 初始化I2C外設(shè)函數(shù)I2C_Init
14.4.4 復(fù)位I2C_InitStruct結(jié)構(gòu)
函數(shù)I2C_StructInit
14.4.5 使能或者禁用I2C外設(shè)
函數(shù)I2C_Cmd
14.4.6 使能或者禁用DMA請求
函數(shù)I2C_DMACmd
14.4.7 標(biāo)示最后DMA傳輸函數(shù)
I2C_DMALastTransferCmd
14.4.8 產(chǎn)生起始信號(hào)函數(shù)
I2C_GenerateSTART
14.4.9 產(chǎn)生停止信號(hào)函數(shù)
I2C_GenerateSTOP
14.4.10 使能或者禁用應(yīng)答函數(shù)
I2C_AcknowledgeConfig
14.4.11 配置I2C首地址2函數(shù)
I2C_OwnAddress2Config
14.4.12 使能或者禁用雙重地址模式
函數(shù)I2C_DualAddressCmd
14.4.13 使能或者禁用通用調(diào)用特性
函數(shù)I2C_GeneralCallCmd
14.4.14 使能或者禁用I2C中斷
函數(shù)I2C_ITConfig
14.4.15 發(fā)送數(shù)據(jù)函數(shù)I2C_SendData
14.4.16 接收數(shù)據(jù)函數(shù)
I2C_ReceiveData
14.4.17 發(fā)送地址字節(jié)函數(shù)
I2C_Send7bitAddress
14.4.18 讀取I2C寄存器函數(shù)
I2C_ReadRegister
14.4.19 使能或禁用軟件復(fù)位函數(shù)
I2C_SoftwareResetCmd
14.4.20 配置驅(qū)動(dòng)SMBAlert引腳函數(shù)
I2C_SMBusAlertConfig
14.4.21 使能或者禁用PEC傳輸
函數(shù)I2C_TransmitPEC
14.4.22 選擇PEC位置函數(shù)
I2C_PECPositionConfig
14.4.23 使能或禁用PEC計(jì)算值
函數(shù)I2C_CalculatePEC
14.4.24 獲取PEC值函數(shù)
I2C_GetPEC
14.4.25 使能或者禁用I2C ARP
函數(shù)I2C_ARPCmd
14.4.26 使能或禁用I2C時(shí)鐘伸展函數(shù)
I2C_StretchClockCmd
14.4.27 配置占空比函數(shù)I2C_FastMode
DutyCycleConfig
14.4.28 獲取最近的I2C事件
函數(shù)I2C_GetLastEvent
14.4.29 檢查I2C事件函數(shù)
I2C_CheckEvent
14.4.30 獲取I2C標(biāo)志位函數(shù)
I2C_GetFlagStatus
14.4.31 清除掛起標(biāo)志函數(shù)
I2C_ClearFlag
14.4.32 獲取I2C中斷函數(shù)
I2C_GetITStatus
14.4.33 清除中斷掛起位函數(shù)
I2C_ClearITPendingBit
14.5 綜合練習(xí)
14.6 小結(jié)
14.7 習(xí)題
第15章 通用定時(shí)器系統(tǒng)
( 教學(xué)視頻:39分鐘)
15.1 系統(tǒng)計(jì)時(shí)器(SysTick)及其
編程方法
15.1.1 SysTick寄存器結(jié)構(gòu)
15.1.2 配置SysTick時(shí)鐘源函數(shù)
SysTick_CLKSourceConfig
15.1.3 設(shè)置SysTick重載值函數(shù)
SysTick_Setreload
15.1.4 使能或禁用SysTick計(jì)數(shù)器
函數(shù)SysTick_CounterCmd
15.1.5 使能或者取消SysTick中斷
函數(shù)SysTick_ITConfig
15.1.6 獲取SysTick計(jì)數(shù)器值函數(shù)
SysTick_GetCounter
15.1.7 獲取SysTick標(biāo)志位函數(shù)
SysTick_GetFlagStatus
15.2 通用定時(shí)器(TIM)結(jié)構(gòu)
15.2.1 時(shí)基單元
15.2.2 計(jì)數(shù)器的模式
15.2.3 通用定時(shí)器的特殊工作
模式
15.3 通用定時(shí)器(TIM)的編程方法
15.3.1 TIM寄存器結(jié)構(gòu)
15.3.2 復(fù)位TIM外設(shè)寄存器函數(shù)
TIM_DeInit
15.3.3 初始化TIMx時(shí)間基單元
函數(shù)TIM_TimeBaseInit
15.3.4 初始化TIMx外設(shè)函數(shù)
TIM_OCInit函數(shù)
15.3.5 初始化TIMx外設(shè)函數(shù)
TIM_ICInit
15.3.6 初始化TIM_TimeBaseInitStruct
結(jié)構(gòu)函數(shù) TIM_Time
BaseStructInit
15.3.7 初始化TIM_OCInitStruct結(jié)構(gòu)
函數(shù)TIM_OCStructInit
15.3.8 初始化TIM_ICInitStruct結(jié)構(gòu)
函數(shù)TIM_ICStructInit
15.3.9 使能或者禁用TIM外設(shè)函數(shù)
TIM_Cmd
15.3.10 使能或者禁用TIM中斷
函數(shù)TIM_ITConfig
15.3.11 配置DMA接口函數(shù)
TIM_DMAConfig
15.3.12 使能或者禁用DMA請求
函數(shù)TIM_DMACmd
15.3.13 配置TIMx內(nèi)部時(shí)鐘函數(shù)
TIM_InternalClockConfig
15.3.14 配置TIMx內(nèi)部觸發(fā)器為
外部時(shí)鐘函數(shù) TIM_ITRx
ExternalClockConfig
15.3.15 配置TIMx觸發(fā)器為外部
時(shí)鐘函數(shù)TIM_TixExternal
Config
15.3.16 配置TIMx外部時(shí)鐘模型1函數(shù)
TIM_ETRClockMode1Config
15.3.17 配置TIMx外部時(shí)鐘模型2函數(shù)
TIM_ETRClockMode2Config
15.3.18 配置TIMx外部觸發(fā)函數(shù)TIM_ETRConfig
15.3.19 選擇TIMx輸入觸發(fā)源函數(shù)
TIM_SelectInputTrigger
15.3.20 設(shè)置TIMx預(yù)分頻函數(shù)
TIM_PrescalerConfig
15.3.21 設(shè)置TIMx計(jì)數(shù)器模式函數(shù)
TIM_CounterModeConfig
15.3.22 設(shè)置TIMx輸出1函數(shù)
TIM_ForcedOC1Config
15.3.23 設(shè)置TIMx輸出2函數(shù)
TIM_ForcedOC2Config
15.3.24 設(shè)置TIMx輸出3函數(shù)
TIM_ForcedOC3Config
15.3.25 設(shè)置TIMx輸出4函數(shù)
TIM_ForcedOC4Config
15.3.26 使能或禁用ARR上的
預(yù)裝載寄存器函數(shù)
TIM_ARRPreloadConfig
15.3.27 選擇外設(shè)捕獲比較DMA
源函數(shù)TIM_SelectCCDMA
15.3.28 使能或禁用CCR1上的
預(yù)裝載寄存器函數(shù)
TIM_OC1PreloadConfig
15.3.29 使能或禁用CCR2上的
預(yù)裝載寄存器函數(shù)
TIM_OC2PreloadConfig
15.3.30 使能或禁用CCR3上的
預(yù)裝載寄存器函數(shù)
TIM_OC3PreloadConfig
15.3.31 使能或禁用CCR4上的
預(yù)裝載寄存器函數(shù)
TIM_OC4PreloadConfig
15.3.32 設(shè)置捕獲比較1快速特征
函數(shù)TIM_OC1FastConfig
15.3.33 設(shè)置捕獲比較2快速特征
函數(shù)TIM_OC2FastConfig
15.3.34 設(shè)置捕獲比較3快速特征
函數(shù)TIM_OC3FastConfig
15.3.35 設(shè)置捕獲比較4快速特征
函數(shù)TIM_OC4FastConfig
15.3.36 清除或者保持OCREF1信號(hào)
函數(shù)TIM_ClearOC1Ref
15.3.37 清除或者保持OCREF2信號(hào)
函數(shù)TIM_ClearOC2Ref
15.3.38 清除或者保持OCREF3信號(hào)
函數(shù)TIM_ClearOC3Ref
15.3.39 清除或者保持OCREF4信號(hào)
函數(shù)TIM_ClearOC4Ref
15.3.40 使能或禁用更新事件函數(shù)
TIM_UpdateDisableConfig
15.3.41 設(shè)置TIMx編碼界面函數(shù)TIM_
EncoderInterfaceConfig
15.3.42 設(shè)置事件由軟件產(chǎn)生函數(shù)
TIM_GenerateEvent
15.3.43 設(shè)置TIMx通道1極性函數(shù)
TIM_OC1PolarityConfig
15.3.44 設(shè)置TIMx通道2極性函數(shù)
TIM_OC2PolarityConfig
15.3.45 設(shè)置TIMx通道3極性函數(shù)
TIM_OC3PolarityConfig
15.3.46 設(shè)置TIMx通道4極性函數(shù)
TIM_OC4PolarityConfig
15.3.47 設(shè)置TIMx更新請求源函數(shù)
TIM_UpdateRequestConfig
15.3.48 使能或禁用霍爾傳感器接口
函數(shù)TIM_SelectHallSensor
15.3.49 設(shè)置TIM單脈沖模式函數(shù)
TIM_SelectOnePulseMode
15.3.50 選擇觸發(fā)輸出模式函數(shù)
TIM_SelectOutputTrigger
15.3.51 選擇TIMx從模式函數(shù)
TIM_SelectSlaveMode
15.3.52 設(shè)置或者重置主/從模式
函數(shù)TIM_SelectMaster
SlaveMode
15.3.53 設(shè)置TIM計(jì)數(shù)器寄存器
值函數(shù)TIM_SetCounter
15.3.54 設(shè)置TIM自動(dòng)重裝載寄存
器值函數(shù)TIM_SetAutoreload
15.3.55 設(shè)置捕獲比較1寄存器值
函數(shù)TIM_SetCompare1
15.3.56 設(shè)置捕獲比較2寄存器值
函數(shù)TIM_SetCompare2
15.3.57 設(shè)置捕獲比較3寄存器值
函數(shù)TIM_SetCompare3
15.3.58 設(shè)置捕獲比較4寄存器值
函數(shù)TIM_SetCompare4
15.3.59 設(shè)置TIMx輸入捕獲1
預(yù)分頻函數(shù)TIM_SetIC1
Prescaler
15.3.60 設(shè)置TIMx輸入捕獲2
預(yù)分頻函數(shù)TIM_SetIC2
Prescaler
15.3.61 設(shè)置TIMx輸入捕獲3
預(yù)分頻函數(shù)TIM_SetIC3
Prescaler
15.3.62 設(shè)置TIMx輸入捕獲4
預(yù)分頻函數(shù)TIM_SetIC4
Prescaler
15.3.63 設(shè)置TIMx時(shí)鐘分割值函數(shù)TIM_SetClockDivision
15.3.64 獲取TIMx輸入捕獲1值
函數(shù)TIM_GetCapture1
15.3.65 獲取TIMx輸入捕獲2值
函數(shù)TIM_GetCapture2
15.3.66 獲取TIMx輸入捕獲3值
函數(shù)TIM_GetCapture3
15.3.67 獲取TIMx輸入捕獲4值
函數(shù)TIM_GetCapture4
15.3.68 獲取TIMx計(jì)數(shù)器值函數(shù)TIM_GetCounter
15.3.69 獲取TIMx預(yù)分頻值函數(shù)TIM_GetPrescaler
15.3.70 獲取TIM標(biāo)志位函數(shù)TIM_GetFlagStatus
15.3.71 清除掛起標(biāo)志位函數(shù)TIM_ClearFlag
15.3.72 獲取TIM中斷函數(shù)TIM_GetITStatus
15.3.73 清除中斷掛起標(biāo)志位函數(shù)TIM_ClearITPendingBit
15.4 綜合練習(xí)
15.5 小結(jié)
15.6 習(xí)題
第16章 高級控制定時(shí)器系統(tǒng)
?。?教學(xué)視頻:46分鐘)
16.1 高級控制定時(shí)器(TIM1)結(jié)構(gòu)
16.1.1 時(shí)基單元
16.1.2 計(jì)數(shù)器模式
16.1.3 重復(fù)向下計(jì)數(shù)器
16.1.4 高級控制定時(shí)器的特殊
工作模式
16.1.5 與霍爾元件的接口
16.2 高級控制定時(shí)器(TIM1)的
編程方法
16.2.1 TIM1寄存器結(jié)構(gòu)
16.2.2 復(fù)位TIM1外設(shè)函數(shù)TIM1_DeInit
16.2.3 初始化TIM1時(shí)間基數(shù)單位
函數(shù)TIM1_TIM1BaseInit
16.2.4 初始化TIM1通道1函數(shù)TIM1_OC1Init
16.2.5 初始化TIM1通道2函數(shù)TIM1_OC2Init
16.2.6 初始化TIM1通道3函數(shù)TIM1_OC3Init
16.2.7 初始化TIM1通道4函數(shù)
TIM1_OC4Init
16.2.8 設(shè)置剎車特性函數(shù)
TIM1_BDTRConfig
16.2.9 初始化外設(shè)TIM1函數(shù)
TIM1_ICInit
16.2.10 設(shè)置PWM輸入模式函數(shù)TIM1_PWMIConfig
16.2.11 復(fù)位TIM1_TIM1BaseInit
Struct結(jié)構(gòu)成員函數(shù)TIM1_
TIM1BaseStructInit
16.2.12 復(fù)位TIM1_OCInitStruct
結(jié)構(gòu)成員函數(shù)TIM1_OC
StructInit
16.2.13 復(fù)位TIM1_ICInitStruct
結(jié)構(gòu)成員函數(shù)TIM1_IC
StructInit
16.2.14 復(fù)位TIM1_BDTRInitStruct
結(jié)構(gòu)成員函數(shù) TIM1_BDTRStructInit
16.2.15 使能或者禁用TIM1外設(shè)
函數(shù)TIM1_Cmd
16.2.16 使能或禁用TIM1主輸出
函數(shù)TIM1_CtrlPWM
Outputs
16.2.17 使能或禁用TIM1中斷TIM1_ITConfig函數(shù)
16.2.18 設(shè)置DMA接口函數(shù)TIM1_DMAConfig
16.2.19 使能或禁用DMA請求
函數(shù)TIM1_DMACmd
16.2.20 設(shè)置DMA內(nèi)部時(shí)鐘函數(shù)TIM1_InternalClockConfig
16.2.21 配置外部時(shí)鐘模式1函數(shù)
TIM1_ETRClockMode1
Config
16.2.22 配置外部時(shí)鐘模式2函數(shù)TIM1_ETRClockMode2Config
16.2.23 配置TIM1外部觸發(fā)函數(shù)TIM1_ETRConfig
16.2.24 設(shè)置內(nèi)部觸發(fā)為外部時(shí)鐘模式
函數(shù) TIM1_ITRxExternal
ClockConfig
16.2.25 設(shè)置TIM1觸發(fā)為外部時(shí)
鐘函數(shù)TIM1_TixExternal
ClockConfig
16.2.26 選擇TIM1輸入觸發(fā)源函數(shù)TIM1_SelectInputTrigger
16.2.27 使能或禁用更新事件函數(shù)TIM1_UpdateDisable
Config
16.2.28 設(shè)置更新請求源函數(shù)
TIM1_UpdateRequest
Config
16.2.29 使能或禁用霍爾傳感器
接口函數(shù)TIM1_Select
HallSensor
16.2.30 設(shè)置TIM1單脈沖模式
函數(shù)TIM1_SelectOne
PulseMode
16.2.31 選擇觸發(fā)輸出模式函數(shù)
TIM1_SelectOutput
Trigger
16.2.32 選擇TIM1從模式函數(shù)
TIM1_SelectSlaveMode
16.2.33 選擇TIM1主/從模式
函數(shù)TIM1_SelectMaster
SlaveMode
16.2.34 設(shè)置TIM1編碼界面函數(shù)
TIM1_EncoderInterface
Config
16.2.35 設(shè)置TIM1預(yù)分頻器函數(shù)TIM1_PrescalerConfig
16.2.36 設(shè)置TIM1計(jì)數(shù)器模式
函數(shù)TIM1_CounterMode
Config
16.2.37 設(shè)置TIM1輸出1電平函數(shù)TIM1_ForcedOC1Config
16.2.38 設(shè)置TIM1輸出2電平函數(shù)TIM1_ForcedOC2Config
16.2.39 設(shè)置TIM1輸出3電平函數(shù)TIM1_ForcedOC3Config
16.2.40 設(shè)置TIM1輸出4電平函數(shù)TIM1_ForcedOC4Config
16.2.41 使能或禁用預(yù)裝載寄存器
TIM1_ARRPreloadConfig
函數(shù)
16.2.42 選擇TIM1外設(shè)的通信
事件函數(shù)TIM1_SelectCOM
16.2.43 選擇捕獲比較DMA源函數(shù)
TIM1_SelectCCDMA
16.2.44 設(shè)置或重置捕獲比較
控制位函數(shù)TIM1_CC
PreloadControl
16.2.45 使能或禁用CCR1上的
預(yù)裝載寄存器函數(shù) TIM1_OC1PreloadConfig
16.2.46 使能或禁用CCR2上的
預(yù)裝載寄存器函數(shù)
TIM1_OC2PreloadConfig
16.2.47 使能或禁用CCR3上的
預(yù)裝載寄存器函數(shù)
TIM1_OC3PreloadConfig
16.2.48 使能或禁用CCR4上的
預(yù)裝載寄存器函數(shù)
TIM1_OC4PreloadConfig
16.2.49 設(shè)置捕獲比較1快速特征
函數(shù)TIM1_OC1FastConfig
16.2.50 設(shè)置捕獲比較2快速特征
函數(shù)TIM1_OC2FastConfig
16.2.51 設(shè)置捕獲比較3快速特征
函數(shù)TIM1_OC3FastConfig
16.2.52 設(shè)置捕獲比較4快速特征
函數(shù)TIM1_OC4FastConfig
16.2.53 清除或保持OCREF1信號(hào)
函數(shù)TIM1_ClearOC1Ref
16.2.54 清除或保持OCREF2信號(hào)
函數(shù)TIM1_ClearOC2Ref
16.2.55 清除或保持OCREF3信號(hào)
函數(shù)TIM1_ClearOC3Ref
16.2.56 清除或保持OCREF4信號(hào)
函數(shù)TIM1_ClearOC4Ref
16.2.57 設(shè)置事件由軟件產(chǎn)生函數(shù)TIM1_GenerateEvent
16.2.58 設(shè)置通道1極性函數(shù)TIM1_OC1PolarityConfig
16.2.59 設(shè)置通道1N極性函數(shù)TIM1_OC1NpolarityConfig
16.2.60 設(shè)置通道2極性函數(shù)
TIM1_OC2PolarityConfig
16.2.61 設(shè)置通道2N極性函數(shù)
TIM1_OC2NpolarityConfig
16.2.62 設(shè)置通道3極性函數(shù)
TIM1_OC3PolarityConfig
16.2.63 設(shè)置通道3N極性函數(shù)
TIM1_OC3NpolarityConfig
16.2.64 設(shè)置通道4極性函數(shù)
TIM1_OC4PolarityConfig
16.2.65 設(shè)置計(jì)數(shù)器寄存器值函數(shù)
TIM1_SetCounter
16.2.66 使能或禁用捕獲比較通道
x函數(shù)TIM1_CCxCmd
16.2.67 使能或禁用捕獲比較通道
xN函數(shù)TIM1_CCxNCmd
16.2.68 選擇TIM1輸出比較模式
函數(shù)TIM1_SelectOCxM
16.2.69 設(shè)置自動(dòng)重裝載寄存器值
函數(shù)TIM1_SetAutoreload
16.2.70 設(shè)置捕獲比較1寄存器值
函數(shù)TIM1_SetCompare1
16.2.71 設(shè)置捕獲比較2寄存器值
函數(shù)TIM1_SetCompare2
16.2.72 設(shè)置捕獲比較3寄存器值
函數(shù)TIM1_SetCompare3
16.2.73 設(shè)置捕獲比較4寄存器值
函數(shù)TIM1_SetCompare4
16.2.74 設(shè)置輸入捕獲1預(yù)分頻值函
數(shù)TIM1_SetIC1Prescaler
16.2.75 設(shè)置輸入捕獲2預(yù)分頻值函
數(shù)TIM1_SetIC2Prescaler
16.2.76 設(shè)置輸入捕獲3預(yù)分頻值函
數(shù)TIM1_SetIC3Prescaler
16.2.77 設(shè)置輸入捕獲4預(yù)分頻值函
數(shù)TIM1_SetIC4Prescaler
16.2.78 設(shè)置時(shí)鐘分割值函數(shù)
TIM1_SetClockDivision
16.2.79 獲取輸入捕獲1的值函數(shù)
TIM1_GetCapture1
16.2.80 獲取輸入捕獲2的值函數(shù)
TIM1_GetCapture2
16.2.81 獲取輸入捕獲3的值函數(shù)
TIM1_GetCapture3
16.2.82 獲取輸入捕獲4的值函數(shù)
TIM1_GetCapture4
16.2.83 獲取TIM1計(jì)數(shù)器的值函數(shù)
TIM1_GetCounter
16.2.84 獲取TIM1預(yù)分頻值函數(shù)
TIM1_GetPrescaler
16.2.85 獲取TIM1標(biāo)志位函數(shù)
TIM1_GetFlagStatus
16.2.86 清除TIM1掛起標(biāo)志位函數(shù)
TIM1_ClearFlag
16.2.87 獲取TIM1中斷函數(shù)
TIM1_GetITStatus
16.2.88 清除TIM1中斷掛起
標(biāo)志位函數(shù)TIM1_
ClearITPendingBit
16.3 綜合練習(xí)
16.4 小結(jié)
16.5 習(xí)題
第17章 時(shí)鐘控制系統(tǒng)
?。?教學(xué)視頻:43分鐘)
17.1 復(fù)位和時(shí)鐘控制(RCC)
17.1.1 復(fù)位的類型
17.1.2 時(shí)鐘的類型
17.2 復(fù)位和時(shí)鐘控制(RCC)的
編程方法
17.2.1 RCC寄存器結(jié)構(gòu)
17.2.2 RCC外圍設(shè)備復(fù)位函數(shù)
RCC_DeInit
17.2.3 配置高速振蕩器HSE函數(shù)
RCC_HSEConfig
17.2.4 等待HSE完成啟動(dòng)函數(shù)
RCC_WaitForHSEStartUp
17.2.5 校正HIS函數(shù)RCC_
AdjustHSICalibrationValue
17.2.6 使能或禁用HIS函數(shù)
RCC_HSICmd
17.2.7 配置PLL函數(shù)RCC_
PLLConfig
17.2.8 使能或者禁用PLL函數(shù)
RCC_PLLCmd
17.2.9 配置系統(tǒng)時(shí)鐘函數(shù)
RCC_SYSCLKConfig
17.2.10 獲取系統(tǒng)時(shí)鐘源函數(shù)
RCC_GetSYSCLKSource
17.2.11 配置AHB時(shí)鐘函數(shù)
RCC_HCLKConfig
17.2.12 配置低速APB時(shí)鐘函數(shù)
RCC_PCLK1Config
17.2.13 配置高速APB時(shí)鐘函數(shù)
RCC_PCLK2Config
17.2.14 使能或者禁用RCC
中斷函數(shù)RCC_ITConfig
17.2.15 配置USB時(shí)鐘函數(shù)
RCC_USBCLKConfig
17.2.16 配置ADC時(shí)鐘函數(shù)
RCC_ADCCLKConfig
17.2.17 配置LSE函數(shù)
RCC_LSEConfig
17.2.18 使能或者禁用LSI函數(shù)
RCC_LSICmd
17.2.19 配置RTC時(shí)鐘函數(shù)RCC_RTCCLKConfig
17.2.20 使能或者禁用RTC時(shí)鐘
函數(shù)RCC_RTCCLKCmd
17.2.21 獲取時(shí)鐘頻率函數(shù)
RCC_GetClocksFreq
17.2.22 使能或禁用AHB外圍
設(shè)備時(shí)鐘函數(shù)RCC_AHB
PeriphClockCmd
17.2.23 使能或者禁用高速APB2
外圍設(shè)備時(shí)鐘函數(shù)RCC_
APB2PeriphClockCmd
17.2.24 使能或者禁用低速APB1
外圍設(shè)備時(shí)鐘函數(shù)RCC_
APB1PeriphClockCmd
17.2.25 高速APB2外圍設(shè)備復(fù)位
函數(shù)RCC_APB2Periph
ResetCmd
17.2.26 低速APB1外圍設(shè)備復(fù)位函數(shù)
RCC_APB1PeriphResetCmd
17.2.27 備份域復(fù)位函數(shù)
RCC_BackupResetCmd
17.2.28 使能或者禁用時(shí)鐘安全
系統(tǒng)函數(shù)RCC_Clock
SecuritySystemCmd
17.2.29 選擇輸出時(shí)鐘源函數(shù)
RCC_MCOConfig
17.2.30 獲取RCC標(biāo)志函數(shù)
RCC_GetFlagStatus
17.2.31 清除RCC復(fù)位標(biāo)志函數(shù)
RCC_ClearFlag
17.2.32 獲取RCC中斷函數(shù)
RCC_GetITStatus
17.2.33 清除RCC中斷掛起位函數(shù)
RCC_ClearITPendingBit
17.3 實(shí)時(shí)時(shí)鐘(RTC)
17.3.1 RTC的復(fù)位
17.3.2 讀RTC寄存器
17.3.3 配置RTC寄存器
17.3.4 RTC標(biāo)志的設(shè)置
17.4 實(shí)時(shí)時(shí)鐘(RTC)的編程方法
17.4.1 RTC寄存器結(jié)構(gòu)
17.4.2 使能或者禁用RTC中斷
函數(shù)RTC_ITConfig
17.4.3 進(jìn)入RTC配置模式函數(shù)
RTC_EnterConfigMode
17.4.4 跳出RTC配置模式函數(shù)
RTC_ExitConfigMode
17.4.5 獲取RTC計(jì)數(shù)值函數(shù)
RTC_GetCounter
17.4.6 設(shè)置RTC計(jì)數(shù)值函數(shù)
RTC_SetCounter
17.4.7 獲取RTC預(yù)分頻數(shù)值函數(shù)
TC_GetPrescaler
17.4.8 設(shè)置RTC預(yù)分頻數(shù)值函數(shù)
RTC_SetPrescaler
17.4.9 設(shè)置RTC警報(bào)值函數(shù)
RTC_SetAlarm
17.4.10 獲取RTC分割值函數(shù)
RTC_GetDivider
17.4.11 等待RTC寄存器寫完成函數(shù)
RTC_WaitForLastTask
17.4.12 等待同步函數(shù)
RTC_WaitForSynchro
17.4.13 獲取RTC標(biāo)志位函數(shù)
RTC_GetFlagStatus
17.4.14 清除RTC掛起標(biāo)志位函數(shù)
RTC_ClearFlag
17.4.15 獲取RTC中斷函數(shù)
RTC_GetITStatus
17.4.16 清除RTC中斷掛起位函數(shù)
RTC_ClearITPendingBit
17.5 綜合練習(xí)
17.6 小結(jié)
17.7 習(xí)題
第18章 看門狗系統(tǒng)
?。?教學(xué)視頻:22分鐘)
18.1 獨(dú)立看門狗(IWDG)簡介
18.2 獨(dú)立看門狗(IWDG)的編程方法
18.2.1 IWDG寄存器結(jié)構(gòu)
18.2.2 使能或禁用寫寄存器函數(shù)
IWDG_WriteAccessCmd
18.2.3 設(shè)置IWDG預(yù)分頻因子
函數(shù)IWDG_SetPrescaler
18.2.4 設(shè)置IWDG重載寄存器
函數(shù)IWDG_SetReload
18.2.5 重載IWDG計(jì)數(shù)器函數(shù)
IWDG_ReloadCounter
18.2.6 使能獨(dú)立看門狗函數(shù)
IWDG_Enable
18.2.7 獲取IWDG標(biāo)志函數(shù)
IWDG_GetFlagStatus
18.3 窗口看門狗(WWDG)簡介
18.3.1 窗口看門狗(WWDG)的
基本功能
18.3.2 編寫窗口看門狗(WWDG)
超時(shí)程序
18.4 窗口看門狗(WWDG)的
編程方法
18.4.1 WWDG寄存器結(jié)構(gòu)
18.4.2 復(fù)位WWDG外圍設(shè)備寄存器
復(fù)位函數(shù)WWDG_DeInit
18.4.3 設(shè)置WWDG預(yù)分頻因子
函數(shù)WWDG_SetPrescaler
18.4.4 設(shè)置窗口值函數(shù)
WWDG_SetWindowValue
18.4.5 使能EWI函數(shù)
WWDG_EnableIT
18.4.6 設(shè)置WWDG計(jì)數(shù)器函數(shù)
WWDG_SetCounter
18.4.7 使能WWDG函數(shù)
WWDG_Enable
18.4.8 獲取中斷標(biāo)志位函數(shù)
WWDG_GetFlagStatus
18.4.9 清除中斷標(biāo)志位函數(shù)
WWDG_ClearFlag
18.5 綜合練習(xí)
18.6 小結(jié)
18.7 習(xí)題
第19章 備份寄存器(BKP)
?。?教學(xué)視頻:18分鐘)
19.1 備份寄存器(BKP)簡介
19.1.1 侵入檢測
19.1.2 RTC校準(zhǔn)
19.2 備份寄存器(BKP)的編程方法
19.2.1 BKP寄存器結(jié)構(gòu)
19.2.2 BKP寄存器復(fù)位函數(shù)
BKP_DeInit
19.2.3 配置侵入檢測引腳有效
電平函數(shù)BKP_Tamper
PinLevelConfig
19.2.4 使能或禁用侵入檢測引腳
函數(shù)BKP_TamperPinCmd
19.2.5 使能或禁用侵入檢測引腳
中斷函數(shù)BKP_ITConfig
19.2.6 使能或禁用校準(zhǔn)時(shí)鐘輸出
函數(shù) BKP_RTCCalibration
ClockOutputCmd
19.2.7 設(shè)置RTC時(shí)鐘校準(zhǔn)值函數(shù)
BKP_SetRTCCalibrationValue
19.2.8 寫備份寄存器函數(shù)BKP_
WriteBackupRegister
19.2.9 讀備份寄存器函數(shù)BKP_
ReadBackupRegister
19.2.10 獲取侵入檢測引腳事件標(biāo)志
函數(shù)BKP_GetFlagStatus
19.2.11 清除事件掛起標(biāo)志函數(shù)
BKP_ClearFlag
19.2.12 獲取中斷狀態(tài)函數(shù)
BKP_GetITStatus
19.2.13 清除中斷掛起位函數(shù)
BKP_ClearITPendingBit
19.3 綜合練習(xí)
19.4 小結(jié)
19.5 習(xí)題
第20章 DMA控制器
?。?教學(xué)視頻:26分鐘)
20.1 DMA控制器簡介
20.1.1 DMA寄存器的基本特性
20.1.2 DMA寄存器的基本功能
20.2 DMA控制器的編程方法
20.2.1 DMA寄存器結(jié)構(gòu)
20.2.2 DMA通道寄存器復(fù)位函數(shù)
DMA_DeInit
20.2.3 參數(shù)初始化函數(shù)DMA_Init
20.2.4 復(fù)位DMA_InitStruct函數(shù)
DMA_StructInit
20.2.5 使能或禁用DMA通道函數(shù)
DMA_Cmd
20.2.6 使能或禁用DMA通道
中斷函數(shù)DMA_ITConfig
20.2.7 獲取剩余數(shù)據(jù)單元函數(shù)
DMA_GetCurrDataCounter
20.2.8 獲取DMA通道標(biāo)志函數(shù)
DMA_GetFlagStatus
20.2.9 清除掛起標(biāo)志函數(shù)DMA_
ClearFlag
20.2.10 獲取中斷狀態(tài)函數(shù)
DMA_GetITStatus
20.2.11 清除掛起位函數(shù)DMA
ClearITPendingBit
20.3 綜合練習(xí)
20.4 小結(jié)
20.5 習(xí)題
第21章 電源控制(PWR)
?。?教學(xué)視頻:34分鐘)
21.1 電源控制的結(jié)構(gòu)
21.2 電源管理器
21.2.1 上電復(fù)位(POR)和
掉電復(fù)位(PDR)
21.2.2 可編程電壓監(jiān)測器(PVD)
21.3 低功耗模式
21.3.1 降低系統(tǒng)時(shí)鐘
21.3.2 外部時(shí)鐘的控制
21.3.3 睡眠模式
21.3.4 停止模式
21.3.5 待機(jī)模式
21.3.6 低功耗模式下的自動(dòng)喚醒
?。ˋWU)
21.4 電源控制(PWR)的編程方法
21.4.1 GPIO寄存器結(jié)構(gòu)
21.4.2 PWR外圍寄存器復(fù)位函數(shù)
PWR_DeInit
21.4.3 使能或禁用備份寄存器函數(shù)
PWR_BackupAccessCmd
21.4.4 使能或禁用電源電壓探測
器函數(shù)PWR_PVDCmd
21.4.5 配置電壓門限值函數(shù)
PWR_PVDLevelConfig
21.4.6 使能或禁用喚醒引腳函數(shù)
PWR_WakeUpPinCmd
21.4.7 進(jìn)入STOP模式函數(shù)
PWR_EnterSTOPMode
21.4.8 進(jìn)入STANDBY模式函數(shù)
PWR_EnterSTANDBYMode
21.4.9 獲取PWR標(biāo)志位狀態(tài)函數(shù)
PWR_GetFlagStatus
21.4.10 清除PWR掛起標(biāo)志位
函數(shù)PWR_ClearFlag
21.5 綜合練習(xí)
21.6 小結(jié)
21.7 習(xí)題
第四篇 嵌入式系統(tǒng)實(shí)戰(zhàn)
第22章 嵌入式實(shí)時(shí)操作系統(tǒng)
FREERTOS的移植
( 教學(xué)視頻:22分鐘)
22.1 獲取FreeRTOS內(nèi)核
22.2 在STM32上移植FreeRTOS
22.2.1 宏定義部分
22.2.2 C接口部分
22.2.3 匯編處理部分
22.2.4 創(chuàng)建測試任務(wù)
22.3 小結(jié)
22.4 習(xí)題
第23章 嵌入式系統(tǒng)UC/OS-Ⅱ的移植
?。?教學(xué)視頻:23分鐘)
23.1 獲取UC/OS-Ⅱ嵌入式系統(tǒng)內(nèi)核
23.2 在STM32上移植UC/OS-Ⅱ
23.2.1 移植要求
23.2.2 頭文件OS_CPU.H
23.2.3 C文件OS_CPU_C.C
23.2.4 匯編文件OS_CPU_A.ASM
23.2.5 測試任務(wù)
23.3 小結(jié)
23.4 習(xí)題
編輯推薦
為了能讓初次接觸ARM嵌入式系統(tǒng)開發(fā)的愛好者快速而又輕松地學(xué)會(huì)ARM處理器及其程序開發(fā),筆者總結(jié)了自己學(xué)習(xí)ARM的經(jīng)驗(yàn),并結(jié)合多年實(shí)際開發(fā)的經(jīng)驗(yàn),編寫了這本ARM嵌入式開發(fā)的基礎(chǔ)教程。在《21天學(xué)通ARM嵌入式開發(fā)(附光盤第2版)》中,筆者薛園園從最基礎(chǔ)的概念入手,循序漸進(jìn)地將ARM處理器開發(fā)和程序設(shè)計(jì)中的每個(gè)技術(shù)點(diǎn)展現(xiàn)在讀者面前,力求讓讀者在最短的時(shí)間內(nèi)高效地掌握ARM處理器及嵌入式開發(fā)的基礎(chǔ)概念及技術(shù)要點(diǎn)。本書采用了最新的ARM Cortex-M3內(nèi)核進(jìn)行講解。最新的ARM Cortex-M3內(nèi)核提供了更為強(qiáng)大的功能,目前正在取代老款的ARM7等內(nèi)核。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
21天學(xué)通ARM嵌入式開發(fā) PDF格式下載