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