圖書內容,目 錄,
圖書內容
本書以引導讀者快速全面掌握STM32F103x系列嵌入式微控制器為目的,由淺入深地帶領讀者走進嵌入式世界。
本書共分為兩部分:第一部分以嵌入式基本概念為平台,介紹嵌入式微控制器各模組的使用方法、庫函式,從簡單的單模組知識到複雜的多模組套用,涵蓋Cortex-M3體系結構、開發平台、復位和時鐘控制器、NVIC和EXTI模組、GPIO模組、FSMC模組、模數轉換器模組、通用定時器模組、通信模組等常用功能模組。第二部分主要介紹μC/OS-Ⅱ作業系統的概念與套用,講解μC/OS-Ⅱ作業系統的核心、常用的系統服務等知識。本書注重理論知識和實踐能力的結合,推薦初學者使用庫函式設計嵌入式程式以避免複雜的暫存器操作。
目 錄
第1章 嵌入式系統概述 (1)
1.1 嵌入式系統簡介 (1)
1.1.1 嵌入式系統定義 (1)
1.1.2 嵌入式系統的特點 (2)
1.1.3 嵌入式系統的套用領域 (3)
1.2 嵌入式系統的組成 (4)
1.3 嵌入式處理器 (5)
1.3.1 嵌入式處理器的分類 (5)
1.3.2 嵌入式處理器的選型原則 (6)
1.4 嵌入式作業系統 (7)
1.5 ARM處理器簡介 (10)
1.5.1 ARM處理器的進化過程 (10)
1.5.2 ARM處理器的開發工具 (12)
1.6 嵌入式系統的設計方法 (13)
1.6.1 嵌入式系統的總體結構 (13)
1.6.2 嵌入式系統設計過程 (14)
1.6.3 嵌入式系統的硬/軟體協同設計技術 (15)
思考與練習 (16)
第2章 ARM Cortex-M3內部結構 (17)
2.1 Cortex-M3簡介 (17)
2.2 指令集 (20)
2.3 流水線 (21)
2.4 暫存器組 (22)
2.5 操作模式和特權等級 (25)
2.6 異常、中斷和向量表 (26)
2.7 存儲器映射 (29)
2.8 調試支持 (30)
思考與練習 (30)
第3章 STM32F1系列微控制器簡介 (31)
3.1 基於Cortex-M3核心的STM32F1微控制器概述 (31)
3.2 STM32F1微控制器的系統結構 (33)
3.3 STM32F1微控制器的存儲器結構與映射 (34)
3.4 STM32F1微控制器的嵌入式快閃記憶體 (36)
3.5 STM32F1微控制器的啟動配置 (37)
3.6 STM32F1微控制器的電源控制 (38)
3.7 STM32F1微控制器的復位 (39)
3.8 STM32F1微控制器的調試連線埠 (41)
思考與練習 (41)
第4章 建立MDK-ARM5.0開發平台 (42)
4.1 MDK-ARM簡介 (42)
4.2 CMSIS標準簡介 (44)
4.3 STM32標準外設庫 (45)
4.4 安裝MDK-ARM5.0 (49)
4.5 創建工程模板 (52)
思考與練習 (57)
第5章 復位與時鐘控制器 (58)
5.1 STM32F103x微控制器時鐘模組簡介 (58)
5.1.1 HSE時鐘 (60)
5.1.2 HSI時鐘 (60)
5.1.3 PLL (61)
5.1.4 LSE時鐘 (61)
5.1.5 LSI時鐘 (61)
5.1.6 系統時鐘的選擇 (62)
5.1.7 時鐘安全系統 (62)
5.1.8 RTC時鐘 (62)
5.1.9 看門狗時鐘 (62)
5.1.10 時鐘輸出 (62)
5.1.11 片上外設時鐘 (63)
5.2 RCC庫函式說明 (63)
5.2.1 庫函式RCC_DeInit (65)
5.2.2 庫函式RCC_HSEConfig (65)
5.2.3 庫函式RCC_WaitForHSEStartUp (65)
5.2.4 庫函式RCC_AdjustHSICalibrationValue (66)
5.2.5 庫函式RCC_HSICmd (66)
5.2.6 庫函式RCC_PLLConfig (66)
5.2.7 庫函式RCC_PLLCmd (67)
5.2.8 庫函式RCC_SYSCLKConfig (67)
5.2.9 庫函式RCC_GetSYSCLKSource (68)
5.2.10 庫函式RCC_HCLKConfig (68)
5.2.11 庫函式RCC_PCLK1Config (69)
5.2.12 庫函式RCC_PCLK2Config (69)
5.2.13 庫函式RCC_ITConfig (70)
5.2.14 庫函式RCC_USBCLKConfig (70)
5.2.15 庫函式RCC_ADCCLKConfig (70)
5.2.16 庫函式RCC_LSEConfig (71)
5.2.17 庫函式RCC_LSICmd (71)
5.2.18 庫函式RCC_RTCCLKConfig (72)
5.2.19 庫函式RCC_RTCCLKCmd (72)
5.2.20 庫函式RCC_GetClocksFreq (72)
5.2.21 庫函式RCC_AHBPeriphClockCmd (73)
5.2.22 庫函式RCC_APB2PeriphClockCmd (73)
5.2.23 庫函式RCC_APB1PeriphClockCmd (74)
5.2.24 庫函式RCC_APB2PeriphResetCmd (75)
5.2.25 庫函式RCC_APB1PeriphResetCmd (75)
5.2.26 庫函式RCC_BackupResetCmd (75)
5.2.27 庫函式RCC_ClockSecuritySystemCmd (76)
5.2.28 庫函式RCC_MCOConfig (76)
5.2.29 庫函式RCC_GetFlagStatus (76)
5.2.30 庫函式RCC_ClearFlag (77)
5.2.31 庫函式RCC_GetITStatus (77)
5.2.32 庫函式RCC_ClearITPendingBit (78)
5.3 使用RCC庫函式建立系統時鐘 (78)
5.3.1 建立系統時鐘的一般流程 (78)
5.3.2 實例 (79)
思考與練習 (79)
第6章 I/O連線埠模組 (81)
6.1 概述 (81)
6.2 GPIO庫函式說明 (83)
6.2.1 庫函式GPIO_DeInit (84)
6.2.2 庫函式GPIO_AFIODeInit (84)
6.2.3 庫函式GPIO_Init (84)
6.2.4 庫函式GPIO_StructInit (86)
6.2.5 庫函式GPIO_ReadInputDataBit (86)
6.2.6 庫函式GPIO_ReadInputData (87)
6.2.7 庫函式GPIO_ReadOutputDataBit (87)
6.2.8 庫函式GPIO_ReadOutputData (87)
6.2.9 庫函式GPIO_SetBits (88)
6.2.10 庫函式GPIO_ResetBits (88)
6.2.11 庫函式GPIO_WriteBit (88)
6.2.12 庫函式GPIO_Write (88)
6.2.13 庫函式GPIO_PinLockConfig (89)
6.2.14 庫函式GPIO_EventOutputConfig (89)
6.2.15 庫函式GPIO_EventOutputCmd (90)
6.2.16 庫函式GPIO_PinRemapConfig (90)
6.2.17 庫函式GPIO_EXTILineConfig (91)
思考與練習 (91)
第7章 中斷和事件 (92)
7.1 嵌套向量中斷控制器 (92)
7.2 外部中斷/事件控制器 (95)
7.3 NVIC庫函式說明 (96)
7.3.1 庫函式NVIC_PriorityGroupConfig (97)
7.3.2 庫函式NVIC_Init (97)
7.3.3 庫函式NVIC_SetVectorTable (99)
7.3.4 庫函式NVIC_SystemLPConfig (100)
7.4 EXTI庫函式說明 (100)
7.4.1 庫函式EXTI_DeInit (101)
7.4.2 庫函式EXTI_Init (101)
7.4.3 庫函式EXTI_StructInit (102)
7.4.4 庫函式EXTI_GenerateSWInterrupt (103)
7.4.5 庫函式EXTI_GetFlagStatus (103)
7.4.6 庫函式EXTI_ClearFlag (103)
7.4.7 庫函式EXTI_GetITStatus (103)
7.4.8 庫函式EXTI_ClearITPendingBit (104)
思考與練習 (104)
第8章 系統時基定時器 (105)
8.1 概述 (105)
8.2 SysTick庫函式說明 (106)
思考與練習 (106)
第9章 實時時鐘和備份暫存器 (107)
9.1 實時時鐘簡介 (107)
9.2 後備暫存器簡介 (111)
9.3 RTC庫函式說明 (112)
9.3.1 庫函式RTC_ITConfig (112)
9.3.2 庫函式RTC_EnterConfigMode (113)
9.3.3 庫函式RTC_ExitConfigMode (113)
9.3.4 庫函式RTC_GetCounter (113)
9.3.5 庫函式RTC_SetCounter (113)
9.3.6 庫函式RTC_SetPrescaler (114)
9.3.7 庫函式RTC_SetAlarm (114)
9.3.8 庫函式RTC_WaitForLastTask (114)
9.3.9 庫函式RTC_WaitForSynchro (114)
9.3.10 庫函式RTC_GetFlagStatus (115)
9.3.11 庫函式RTC_ClearFlag (115)
9.3.12 庫函式RTC_GetITStatus (115)
9.3.13 庫函式RTC_ClearITPendingBit (116)
9.4 BKP庫函式說明 (116)
9.4.1 庫函式BKP_DeInit (116)
9.4.2 庫函式BKP_Init (117)
9.4.3 庫函式BKP_TamperPinCmd (117)
9.4.4 庫函式BKP_ITConfig (117)
9.4.5 庫函式BKP_RTCOutputConfig (117)
9.4.6 庫函式BKP_SetRTCCalibrationValue (118)
9.4.7 庫函式BKP_WriteBackupRegister (118)
9.4.8 庫函式BKP_ReadBackupRegister (119)
9.4.9 庫函式BKP_GetFlagStatus (119)
9.4.10 庫函式BKP_ClearFlag (119)
9.4.11 庫函式BKP_GetITStatus (119)
9.4.12 庫函式BKP_ClearITPendingBit (120)
思考與練習 (120)
第10章 嵌入式快閃記憶體 (121)
10.1 嵌入式快閃記憶體簡介 (121)
10.1.1 嵌入式快閃記憶體的組織方式 (121)
10.1.2 嵌入式快閃記憶體的讀操作 (122)
10.1.3 嵌入式編程和擦除控制器 (123)
10.2 FLASH庫函式說明 (128)
10.2.1 庫函式FLASH_SetLatency (129)
10.2.2 庫函式FLASH_HalfCycleAccessCmd (129)
10.2.3 庫函式FLASH_PrefetchBufferCmd (130)
10.2.4 庫函式FLASH_Unlock (130)
10.2.5 庫函式FLASH_Lock (130)
10.2.6 庫函式FLASH_ErasePage (130)
10.2.7 庫函式FLASH_EraseAllPages (131)
10.2.8 庫函式FLASH_EraseOptionBytes (131)
10.2.9 庫函式FLASH_ProgramWord (131)
10.2.10 庫函式FLASH_ProgramHalfWord (131)
10.2.11 庫函式FLASH_ProgramOptionByteData (132)
10.2.12 庫函式FLASH_EnableWriteProtection (132)
10.2.13 庫函式FLASH_ReadOutProtection (133)
10.2.14 庫函式FLASH_UserOptionByteConfig (133)
10.2.15 庫函式FLASH_GetUserOptionByte (133)
10.2.16 庫函式FLASH_GetWriteProtectionOptionByte (134)
10.2.17 庫函式FLASH_GetReadOutProtectionStatus (134)
10.2.18 庫函式FLASH_GetPrefetchBufferStatus (134)
10.2.19 庫函式FLASH_ITConfig (134)
10.2.20 庫函式FLASH_GetFlagStatus (135)
10.2.21 庫函式FLASH_ClearFlag (135)
10.2.22 庫函式FLASH_GetStatus (135)
10.2.23 庫函式FLASH_WaitForLastOperation (136)
思考與練習 (136)
第11章 USART串口模組 (137)
11.1 USART串口簡介 (137)
11.1.1 功能概述 (138)
11.1.2 傳送器 (139)
11.1.3 接收器 (140)
11.1.4 產生分數比特率 (141)
11.1.5 多處理器通信 (142)
11.1.6 LIN模式 (143)
11.1.7 USART同步模式 (143)
11.1.8 單線半雙工 (144)
11.1.9 智慧卡模式 (145)
11.1.10 紅外模式 (146)
11.1.11 USART的中斷請求 (147)
11.2 USART庫函式說明 (148)
11.2.1 庫函式USART_DeInit (149)
11.2.2 庫函式USART_Init (149)
11.2.3 庫函式USART_StructInit (151)
11.2.4 庫函式USART_Cmd (151)
11.2.5 庫函式USART_ITConfig (151)
11.2.6 庫函式USART_DMACmd (152)
11.2.7 庫函式USART_SetAddress (152)
11.2.8 庫函式USART_WakeUpConfig (152)
11.2.9 庫函式USART_ReceiverWakeUpCmd (153)
11.2.10 庫函式USART_LINBreakDetectiLengthConfig (153)
11.2.11 庫函式USART_LINCmd (153)
11.2.12 庫函式USART_SendData (154)
11.2.13 庫函式USART_ReceiveData (154)
11.2.14 庫函式USART_SendBreak (154)
11.2.15 庫函式USART_SetGuardTime (154)
11.2.16 庫函式USART_SetPrescaler (155)
11.2.17 庫函式USART_SmartCardCmd (155)
11.2.18 庫函式USART_SmartCardNackCmd (155)
11.2.19 庫函式USART_HalfDuplexCmd (155)
11.2.20 庫函式USART_IrDAConfig (156)
11.2.21 庫函式USART_IrDACmd (156)
11.2.22 庫函式USART_GetFlagStatus (156)
11.2.23 庫函式USART_ClearFlag (157)
11.2.24 庫函式USART_GetITStatus (157)
11.2.25 庫函式USART_ClearITPendingBit (158)
思考與練習 (158)
第12章 SPI模組 (159)
12.1 SPI簡介 (159)
12.1.1 引腳概述 (160)
12.1.2 數據傳輸模式 (161)
12.1.3 SPI從模式 (162)
12.1.4 SPI主模式 (163)
12.1.5 狀態標誌 (163)
12.1.6 利用DMA的SPI通信 (164)
12.1.7 SPI中斷 (164)
12.2 SPI庫函式說明 (164)
12.2.1 庫函式SPI_DeInit (165)
12.2.2 庫函式SPI_Init (165)
12.2.3 庫函式SPI_StructInit (167)
12.2.4 庫函式SPI_Cmd (167)
12.2.5 庫函式SPI_I2S_ITConfig (168)
12.2.6 庫函式SPI_I2S_DMACmd (168)
12.2.7 庫函式SPI_I2S_SendData (168)
12.2.8 庫函式SPI_I2S_ReceiveData (169)
12.2.9 庫函式SPI_NSSInternalSoftwareConfig (169)
12.2.10 庫函式SPI_SSOutputCmd (169)
12.2.11 庫函式SPI_DataSizeConfig (170)
12.2.12 庫函式SPI_TransmitCRC (170)
12.2.13 庫函式SPI_CalculateCRC (170)
12.2.14 庫函式SPI_GetCRC (170)
12.2.15 庫函式SPI_GetCRCPolynomial (171)
12.2.16 庫函式SPI_BiDirectionalLineConfig (171)
12.2.17 庫函式SPI_I2S_GetFlagStatus (171)
12.2.18 庫函式SPI_I2S_ClearFlag (172)
12.2.19 庫函式SPI_I2S_GetITStatus (172)
12.2.20 庫函式SPI_I2S_ClearITPendingBit (172)
思考與練習 (173)
第13章 I2C模組 (174)
13.1 I2C簡介 (174)
13.1.1 功能描述 (175)
13.1.2 I2C從模式 (176)
13.1.3 I2C主模式 (177)
13.1.4 錯誤條件 (179)
13.1.5 SDA/SCL線控制 (180)
13.1.6 DMA請求 (180)
13.1.7 I2C的中斷 (181)
13.2 I2C庫函式說明 (182)
13.2.1 庫函式I2C_DeInit (183)
13.2.2 庫函式I2C_Init (183)
13.2.3 庫函式I2C_StructInit (184)
13.2.4 庫函式I2C_Cmd (185)
13.2.5 庫函式I2C_ITConfig (185)
13.2.6 庫函式I2C_DMACmd (186)
13.2.7 庫函式I2C_SendData (186)
13.2.8 庫函式I2C_ReceiveData (186)
13.2.9 庫函式I2C_DMALastTransferCmd (186)
13.2.10 庫函式I2C_GenerateSTART (187)
13.2.11 庫函式I2C_GenerateSTOP (187)
13.2.12 庫函式I2C_AcknowledgeConfig (187)
13.2.13 庫函式I2C_OwnAddress2Config (187)
13.2.14 庫函式I2C_DualAddressCmd (188)
13.2.15 庫函式I2C_GeneralCallCmd (188)
13.2.16 庫函式I2C_Send7bitAddress (188)
13.2.17 庫函式I2C_ReadRegister (189)
13.2.18 庫函式I2C_SoftwareResetCmd (189)
13.2.19 庫函式I2C_SMBusAlertConfig (189)
13.2.20 庫函式I2C_TransmitPEC (190)
13.2.21 庫函式I2C_PECPositionConfig (190)
13.2.22 庫函式I2C_CalculatePEC (190)
13.2.23 庫函式I2C_GetPEC (190)
13.2.24 庫函式I2C_ARPCmd (191)
13.2.25 庫函式I2C_StretchClockCmd (191)
13.2.26 庫函式I2C_FastModeDutyCycleConfig (191)
13.2.27 庫函式I2C_GetLastEvent (191)
13.2.28 庫函式I2C_CheckEvent (192)
13.2.29 庫函式I2C_GetFlagStatus (192)
13.2.30 庫函式I2C_ClearFlag (193)
13.2.31 庫函式I2C_GetITStatus (193)
13.2.32 庫函式I2C_ClearITPendingBit (194)
思考與練習 (194)
第14章 DMA控制器 (195)
14.1 DMA簡介 (195)
14.2 DMA庫函式說明 (199)
14.2.1 庫函式DMA_DeInit (200)
14.2.2 庫函式DMA_Init (200)
14.2.3 庫函式DMA_StructInit (201)
14.2.4 庫函式DMA_Cmd (202)
14.2.5 庫函式DMA_ITConfig (202)
14.2.6 庫函式DMA_GetCurrDataCounte (203)
14.2.7 庫函式DMA_GetFlagStatus (203)
14.2.8 庫函式DMA_ClearFlag (203)
14.2.9 庫函式DMA_GetITStatus (203)
14.2.10 庫函式DMA_ClearITPendingBit (204)
思考與練習 (204)
第15章 FSMC模組 (205)
15.1 FSMC簡介 (205)
15.2 與非匯流排復用模式的異步16位NOR快閃記憶體接口 (207)
15.2.1 FSMC的配置 (207)
15.2.2 時序計算 (209)
15.2.3 硬體連線 (210)
15.2.4 從外部NOR快閃記憶體存儲器執行代碼 (211)
15.3 與非匯流排復用的16位SRAM接口 (211)
15.3.1 FSMC配置 (211)
15.3.2 時序計算 (212)
15.3.3 硬體連線 (213)
15.4 與8位的NAND快閃記憶體存儲器接口 (213)
15.4.1 FSMC配置 (213)
15.4.2 時序計算 (215)
15.4.3 硬體連線 (217)
15.4.4 錯誤校驗碼計算 (217)
15.5 FSMC庫函式說明 (218)
思考與練習 (219)
第16章 模數轉換器模組 (220)
16.1 ADC簡介 (220)
16.1.1 功能描述 (221)
16.1.2 自校準 (223)
16.1.3 可程式的採樣時間 (224)
16.1.4 外部觸發轉換 (224)
16.1.5 雙ADC模式 (225)
16.1.6 溫度感測器 (226)
16.1.7 ADC的中斷事件 (227)
16.2 ADC庫函式說明 (227)
16.2.1 庫函式ADC_DeInit (228)
16.2.2 庫函式ADC_Init (228)
16.2.3 庫函式ADC_StructInit (230)
16.2.4 庫函式ADC_Cmd (231)
16.2.5 庫函式ADC_ITConfig (231)
16.2.6 庫函式ADC_DMACmd (231)
16.2.7 庫函式ADC_ResetCalibration (232)
16.2.8 庫函式ADC_GetResetCalibrationStatus (232)
16.2.9 庫函式ADC_StartCalibration (232)
16.2.10 庫函式ADC_GetCalibrationStatus (233)
16.2.11 庫函式ADC_SoftwareStartConvCmd (233)
16.2.12 庫函式ADC_GetSoftwareStartConvStatus (233)
16.2.13 庫函式ADC_DiscModeChannelCountConfig (233)
16.2.14 庫函式ADC_DiscModeCmd (234)
16.2.15 庫函式ADC_RegularChannelConfig (234)
16.2.16 庫函式ADC_ExternalTrigConvConfig (235)
16.2.17 庫函式ADC_GetConversionValue (235)
16.2.18 庫函式ADC_GetDuelModeConversionValue (235)
16.2.19 庫函式ADC_AutoInjectedConvCmd (236)
16.2.20 庫函式ADC_InjectedDiscModeCmd (236)
16.2.21 庫函式ADC_ExternalTrigInjectedConvConfig (236)
16.2.22 庫函式ADC_ExternalTrigInjectedConvCmd (237)
16.2.23 庫函式ADC_SoftwareStartinjectedConvCmd (237)
16.2.24 庫函式ADC_GetsoftwareStartinjectedConvStatus (237)
16.2.25 庫函式ADC_InjectedChannleConfig (238)
16.2.26 庫函式ADC_InjectedSequencerLengthConfig (238)
16.2.27 庫函式ADC_SetInjectedOffset (238)
16.2.28 庫函式ADC_GetInjectedConversionValue (239)
16.2.29 庫函式ADC_AnalogWatchdogCmd (239)
16.2.30 庫函式ADC_AnalogWatchdongThresholdsConfig (239)
16.2.31 庫函式ADC_AnalogWatchdongSingleChannelConfig (240)
16.2.32 庫函式ADC_TampSensorVrefintCmd (240)
16.2.33 庫函式ADC_GetFlagStatus (240)
16.2.34 庫函式ADC_ClearFlag (241)
16.2.35 庫函式ADC_GetITStatus (241)
16.2.36 庫函式ADC_ClearITPendingBit (241)
思考與練習 (241)
第17章 定時器模組 (243)
17.1 TIM簡介 (243)
17.1.1 計數功能 (244)
17.1.2 時鐘選擇 (248)
17.1.3 捕獲/比較通道 (250)
17.1.4 定時器同步 (261)
17.2 TIM庫函式說明 (265)
17.2.1 庫函式TIM_DeInit (268)
17.2.2 庫函式TIM_TimeBaseInit (268)
17.2.3 庫函式TIM_OC1Init (269)
17.2.4 庫函式TIM_ICInit (270)
17.2.5 庫函式TIM_BDTRConfig (271)
17.2.6 庫函式TIM_TimeBaseStructInit (272)
17.2.7 庫函式TIM_OCStructInit (273)
17.2.8 庫函式TIM_ICStructInit (273)
17.2.9 庫函式TIM_BDTRStructInit (274)
17.2.10 庫函式TIM_Cmd (274)
17.2.11 庫函式TIM_ITConfig (274)
17.2.12 庫函式TIM_GenerateEvent (275)
17.2.13 庫函式TIM_DMAConfig (275)
17.2.14 庫函式TIM_DMACmd (276)
17.2.15 庫函式TIM_InternalClockConfig (277)
17.2.16 庫函式TIM_ITRxExternalClockConfig (277)
17.2.17 庫函式TIM_TIxExternalClockConfig (278)
17.2.18 庫函式TIM_ETRClockMode1Config (278)
17.2.19 庫函式TIM_ETRClockMode2Config (279)
17.2.20 庫函式TIM_ETRConfig (279)
17.2.21 庫函式TIM_SelectInputTrigger (279)
17.2.22 庫函式TIM_PrescalerConfig (280)
17.2.23 庫函式TIM_CounterModeConfig (280)
17.2.24 庫函式TIM_ForcedOC1Config (281)
17.2.25 庫函式TIM_ARRPreloadConfig (281)
17.2.26 庫函式TIM_SelectCOM (281)
17.2.27 庫函式TIM_SelectCCDMA (281)
17.2.28 庫函式TIM_CCPreloadControl (282)
17.2.29 庫函式TIM_OC1PreloadConfig (282)
17.2.30 庫函式TIM_OC1FastConfig (282)
17.2.31 庫函式TIM_ClearOC1Ref (283)
17.2.32 庫函式TIM_UpdateDisableConfig (283)
17.2.33 庫函式TIM_EncoderInterfaceConfig (283)
17.2.34 庫函式TIM_OC1PolarityConfig (284)
17.2.35 庫函式TIM_OC1NPolarityConfig (284)
17.2.36 庫函式TIM_CCxCmd (284)
17.2.37 庫函式TIM_CCxNCmd (285)
17.2.38 庫函式TIM_SelectOCxM (285)
17.2.39 庫函式TIM_UpdateRequestConfig (285)
17.2.40 庫函式TIM_SelectHallSensor (286)
17.2.41 庫函式TIM_SelectOnePulseMode (286)
17.2.42 庫函式TIM_SelectOutputTrigger (286)
17.2.43 庫函式TIM_SelectSlaveMode (287)
17.2.44 庫函式TIM_SelectMasterSlaveMode (288)
17.2.45 庫函式TIM_SetAutoreload (288)
17.2.46 庫函式TIM_SetCompare1 (288)
17.2.47 庫函式TIM_SetIC1Prescaler (288)
17.2.48 庫函式TIM_SetClockDivision (289)
17.2.49 庫函式TIM_GetCapture1 (289)
17.2.50 庫函式TIM_GetCounter (289)
17.2.51 庫函式TIM_GetPrescaler (289)
17.2.52 庫函式TIM_GetFlagStatus (290)
17.2.53 庫函式TIM_ClearFlag (290)
17.2.54 庫函式TIM_GetITStatus (291)
17.2.55 庫函式TIM_ClearITPendingBit (291)
思考與練習 (291)
第18章 看門狗模組 (292)
18.1 獨立看門狗簡介 (292)
18.2 視窗看門狗簡介 (293)
18.3 IWDG庫函式說明 (295)
18.3.1 庫函式IWDG_WriteAccessCmd (295)
18.3.2 庫函式IWDG_SetPrescaler (296)
18.3.3 庫函式IWDG_SetReload (296)
18.3.4 庫函式IWDG_ReloadCounter (296)
18.3.5 庫函式IWDG_Enable (296)
18.3.6 庫函式IWDG_GetFlagStatus (297)
18.4 WWDG庫函式說明 (297)
18.4.1 庫函式WWDG_DeInit (297)
18.4.2 庫函式WWDG_SetPrescaler (297)
18.4.3 庫函式WWDG_SetWindowValue (298)
18.4.4 庫函式WWDG_EnableIT (298)
18.4.5 庫函式WWDG_SetCounter (298)
18.4.6 庫函式WWDG_Enable (298)
思考與練習 (299)
第19章 μC/OS-Ⅱ作業系統概述 (300)
19.1 μC/OS-Ⅱ簡介 (300)
19.2 實時系統概念 (300)
19.2.1 前後台系統 (301)
19.2.2 代碼的臨界段 (301)
19.2.3 任務 (301)
19.2.4 核心 (302)
19.2.5 調度 (303)
19.2.6 可重入型 (303)
19.2.7 不可剝奪型核心 (303)
19.2.8 可剝奪型核心 (303)
19.2.9 時間片輪番調度法 (304)
19.2.10 任務優先權 (304)
19.2.11 死鎖 (304)
19.2.12 同步 (304)
19.2.13 任務間的通信 (305)
19.2.14 時鐘節拍 (305)
19.2.15 臨界段 (306)
19.3 核心結構 (306)
19.3.1 任務控制塊 (306)
19.3.2 任務調度 (307)
19.3.3 給調度器上鎖和開鎖 (307)
19.3.4 空閒任務 (308)
19.3.5 統計任務 (308)
19.3.6 ?C/OS中的中斷處理 (308)
19.3.7 時鐘節拍 (309)
19.3.8 ?C/OS-Ⅱ初始化與啟動 (309)
思考與練習 (309)
第20章 任務管理與通信 (310)
20.1 任務管理 (310)
20.1.1 建立任務 (311)
20.1.2 任務堆疊 (311)
20.1.3 刪除任務 (311)
20.1.4 請求刪除任務 (312)
20.1.5 改變任務的優先權 (312)
20.1.6 掛起任務 (313)
20.1.7 恢復任務 (313)
20.2 任務之間的通信 (313)
20.2.1 事件控制塊 (313)
20.2.2 信號量 (315)
20.2.3 信箱 (316)
20.2.4 訊息佇列 (318)
思考與練習 (320)
第21章 時間管理和記憶體管理 (321)
21.1 時間管理 (321)
21.1.1 任務延時函式 (321)
21.1.2 按時分秒延時函式 (322)
21.1.3 讓處在延時期的任務結束延時 (322)
21.1.4 系統時間 (322)
21.2 記憶體管理 (323)
21.2.1 記憶體控制塊 (323)
21.2.2 建立一個記憶體分區 (323)
21.2.3 分配一個記憶體塊 (324)
21.2.4 釋放一個記憶體塊 (324)
21.2.5 查詢一個記憶體分區的狀態 (324)
21.2.6 等待一個記憶體塊 (325)
思考與練習 (325)
參考文獻 (326)