STM32庫函數(shù)功能詳解_第1頁
STM32庫函數(shù)功能詳解_第2頁
STM32庫函數(shù)功能詳解_第3頁
STM32庫函數(shù)功能詳解_第4頁
STM32庫函數(shù)功能詳解_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、STM32庫函數(shù)簡介一、通用輸入/輸出(GPIO)-3二、外部中斷/事件控制器(EXTI)-7三、通用定時(shí)器(TIM)-9四:ADC寄存器-25五:備份寄存器(BKP)-33六、DMA控制器(DMA)-37七、復(fù)位和時(shí)鐘設(shè)置(RCC)-41八、嵌套向量中斷控制器(NVIC)-49命名規(guī)則在函數(shù)名中,只允許存在一個(gè)下劃線,用以分隔外設(shè)縮寫和函數(shù)名的其它部分。名為PPP_Init的函數(shù),其功能是根據(jù)PPP_InitTypeDef中指定的參數(shù),初始化外設(shè)PPP,例如TIM_Init.名為PPP_DeInit的函數(shù),其功能為復(fù)位外設(shè)PPP的所有寄存器至缺省值,例如TIM_DeInit. 名為PPP_S

2、tructInit的函數(shù),其功能為通過設(shè)置PPP_InitTypeDef 結(jié)構(gòu)中的各種參數(shù)來定義外設(shè)的功能,例如:USART_StructInit 名為PPP_Cmd的函數(shù),其功能為使能或者失能外設(shè)PPP,例如: SPI_Cmd. 名為PPP_ITConfig的函數(shù),其功能為使能或者失能來自外設(shè)PPP某中斷源,例如: RCC_ITConfig. 名為PPP_DMAConfig的函數(shù),其功能為使能或者失能外設(shè)PPP的DMA接口,例如:TIM1_DMAConfig. 用以配置外設(shè)功能的函數(shù),總是以字符串“Config”結(jié)尾,例如GPIO_PinRemapConfig. 名為PPP_GetFlagS

3、tatus的函數(shù),其功能為檢查外設(shè)PPP某標(biāo)志位被設(shè)置與否,例如:I2C_GetFlagStatus. 名為PPP_ClearFlag的函數(shù),其功能為清除外設(shè)PPP標(biāo)志位,例如:I2C_ClearFlag. 名為PPP_GetITStatus的函數(shù),其功能為判斷來自外設(shè)PPP的中斷發(fā)生與否,例如:I2C_GetITStatus. 名為PPP_ClearITPendingBit的函數(shù),其功能為清除外設(shè)PPP中斷待處理標(biāo)志位,例如: I2C_ClearITPendingBit.typedef signed long s32; typedef signed short s16; typedef si

4、gned char s8; typedef signed long const sc32; /* Read Only */typedef signed short const sc16; /* Read Only */ typedef signed char const sc8; /* Read Only */ typedef volatile signed long vs32; typedef volatile signed short vs16; typedef volatile signed char vs8; typedef volatile signed long const vsc

5、32; /* Read Only */ typedef volatile signed short const vsc16; /* Read Only */ typedef volatile signed char const vsc8; /* Read Only */ typedef unsigned long u32; typedef unsigned short u16; typedef unsigned char u8; typedef unsigned long const uc32; /* Read Only */ typedef unsigned short const uc16

6、; /* Read Only */ typedef unsigned char const uc8; /* Read Only */ typedef volatile unsigned long vu32; typedef volatile unsigned short vu16; typedef volatile unsigned char vu8; typedef volatile unsigned long const vuc32; /* Read Only */ typedef volatile unsigned short const vuc16; /* Read Only */ t

7、ypedef volatile unsigned char const vuc8; /* Read Only */一、通用輸入/輸出(GPIO)GPIO寄存器結(jié)構(gòu)GPIO_TypeDef和AFIO_TypeDef,在文件“stm32f10x_map.h”中定義如下: typedef struct vu32 CRL; vu32 CRH; vu32 IDR; vu32 ODR; vu32 BSRR; vu32 BRR; vu32 LCKR; GPIO_TypeDef; typedef struct vu32 EVCR; vu32 MAPR; vu32 EXTICR4; AFIO_TypeDef;G

8、PIO庫函數(shù)1 函數(shù)GPIO_DeInit功能描述:將外設(shè)GPIOx寄存器重設(shè)為缺省值例:GPIO_DeInit(GPIOA);2 函數(shù)GPIO_AFIODeInit功能描述:將復(fù)用功能(重映射事件控制和EXTI設(shè)置)重設(shè)為缺省值例:GPIO_AFIODeInit();3 函數(shù)GPIO_Init功能描述:根據(jù)GPIO_InitStruct中指定的參數(shù)初始化外設(shè)GPIOx寄存器例:GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Spee

9、d = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitTypeDef structure GPIO_InitTypeDef定義于文件“stm32f10x_gpio.h”: typedef struct u16 GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; GPIO_InitTypeDef; GPIO_Pin 該參數(shù)選

10、擇待設(shè)置的GPIO管腳,使用操作符“|”可以一次選中多個(gè)管腳??梢允褂孟卤碇械娜我饨M合。GPIO_Pin_None:無管腳被選中 GPIO_Pin_x:選中管腳x(0-15)GPIO_Pin_All:選中全部管腳GPIO_Speed GPIO_Speed:用以設(shè)置選中管腳的速率。GPIO_Speed_10MHz:最高輸出速率10MHz GPIO_Speed_2MHz:最高輸出速率2MHz GPIO_Speed_50MHz:最高輸出速率50MHz GPIO_Mode GPIO_Mode:用以設(shè)置選中管腳的工作狀態(tài)。GPIO_Mode_AIN:模擬輸入 GPIO_Mode_IN_FLOATING:

11、浮空輸入 GPIO_Mode_IPD:下拉輸入 GPIO_Mode_IPU:上拉輸入 GPIO_Mode_Out_OD:開漏輸出 GPIO_Mode_Out_PP:推挽輸出 GPIO_Mode_AF_OD:復(fù)用開漏輸出 GPIO_Mode_AF_PP:復(fù)用推挽輸出4 函數(shù)GPIO_StructInit功能描述:把GPIO_InitStruct中的每一個(gè)參數(shù)按缺省值填入例:GPIO_InitTypeDef GPIO_InitStructure; GPIO_StructInit(&GPIO_InitStructure);GPIO_InitStruct:GPIO_Pin:GPIO_Pin_All G

12、PIO_Speed:GPIO_Speed_2MHz GPIO_Mode:GPIO_Mode_IN_FLOATING5 函數(shù)GPIO_ReadInputDataBit功能描述:讀取指定端口管腳的輸入例:u8 ReadValue; ReadValue = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7);6 函數(shù)GPIO_ReadInputData功能描述:讀取指定的GPIO端口輸入例:u16 ReadValue; ReadValue = GPIO_ReadInputData(GPIOC);7 函數(shù)GPIO_ReadOutputDataBit功能描述:讀取指定端口管

13、腳的輸出例:u8 ReadValue; ReadValue = GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_7);8 函數(shù)GPIO_ReadOutputData功能描述:讀取指定的GPIO端口輸出例:u16 ReadValue; ReadValue = GPIO_ReadOutputData(GPIOC);9 函數(shù)GPIO_SetBits功能描述:置位指定的數(shù)據(jù)端口位例: GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);10 函數(shù)GPIO_ResetBits功能描述:清除指定的數(shù)據(jù)端口位例:GPIO_ResetBi

14、ts(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);11 函數(shù)GPIO_WriteBit功能描述:設(shè)置或者清除指定的數(shù)據(jù)端口位例: GPIO_WriteBit(GPIOA, GPIO_Pin_15, Bit_SET);12 函數(shù)GPIO_Write功能描述:向指定GPIO數(shù)據(jù)端口寫入數(shù)據(jù)例: GPIO_Write(GPIOA, 0x1101);13 函數(shù)GPIO_PinLockConfig功能描述:鎖定GPIO管腳設(shè)置寄存器例: GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);14 函數(shù)GPIO_EventOutput

15、Config功能描述:選擇GPIO管腳用作事件輸出例: GPIO_EventOutputConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5);GPIO_PortSource GPIO_PortSource用以選擇用作事件輸出的GPIO端口。GPIO_PinSource GPIO_PinSource用以選擇用作事件輸出的GPIO管腳。15 函數(shù)GPIO_EventOutputCmd功能描述:使能或者失能事件輸出例: GPIO_EventOutputConfig(GPIO_PortSourceGPIOC, GPIO_PinSource6); GPIO_Even

16、tOutputCmd(ENABLE);16 函數(shù)GPIO_PinRemapConfig功能描述:改變指定管腳的映射例: GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);GPIO_Remap GPIO_Remap用以選擇用作事件輸出的GPIO端口。GPIO_Remap_SPI1:SPI1復(fù)用功能映射GPIO_Remap_I2C1:I2C1復(fù)用功能映射GPIO_Remap_USART1:USART1復(fù)用功能映射GPIO_PartialRemap_USART3:USART2復(fù)用功能映射GPIO_FullRemap_USART3:USART3復(fù)用功能完全映射G

17、PIO_PartialRemap_TIM1:USART3復(fù)用功能部分映射GPIO_FullRemap_TIM1:TIM1復(fù)用功能完全映射GPIO_PartialRemap1_TIM2:TIM2復(fù)用功能部分映射1 GPIO_PartialRemap2_TIM2:TIM2復(fù)用功能部分映射2 GPIO_FullRemap_TIM2:TIM2復(fù)用功能完全映射GPIO_PartialRemap_TIM3:TIM3復(fù)用功能部分映射GPIO_FullRemap_TIM3:TIM3復(fù)用功能完全映射GPIO_Remap_TIM4:TIM4復(fù)用功能映射GPIO_Remap1_CAN:CAN復(fù)用功能映射1 GPIO

18、_Remap2_CAN:CAN復(fù)用功能映射2 GPIO_Remap_PD01:PD01復(fù)用功能映射GPIO_Remap_SWJ_NoJTRST:除JTRST外SWJ完全使能(JTAG+SW-DP) GPIO_Remap_SWJ_JTAGDisable:JTAG-DP失能 + SW-DP使能GPIO_Remap_SWJ_Disable:SWJ完全失能(JTAG+SW-DP)17 函數(shù)GPIO_EXTILineConfig功能描述:選擇GPIO管腳用作外部中斷線路例: GPIO_EXTILineConfig(GPIO_PortSource_GPIOB, GPIO_PinSource8);二、外部中

19、斷/事件控制器(EXTI)EXTI寄存器結(jié)構(gòu)EXTI_TypeDef,在文件“stm32f10x_map.h”中定義如下:typedef struct vu32 IMR; vu32 EMR; vu32 RTSR; vu32 FTSR; vu32 SWIER; vu32 PR; EXTI_TypeDef;EXTI庫函數(shù)1 函數(shù)EXTI_DeInit功能描述:將外設(shè)EXTI寄存器重設(shè)為缺省值例:EXTI_DeInit();2 函數(shù)EXTI_Init功能描述:根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設(shè)EXTI寄存器例:EXTI_InitTypeDef EXTI_InitStructur

20、e; EXTI_InitStructure.EXTI_Line = EXTI_Line12 | EXTI_Line14; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);EXTI_InitTypeDef structure EXTI_InitTypeDef定義于文件“stm32f10x

21、_exti.h”: typedef struct u32 EXTI_Line; EXTIMode_TypeDef EXTI_Mode; EXTIrigger_TypeDef EXTI_Trigger; FunctionalState EXTI_LineCmd; EXTI_InitTypeDef;EXTI_Line EXTI_Line選擇了待使能或者失能的外部線路。EXTI_Linex:外部中斷線x(0-18)EXTI_Mode EXTI_Mode:設(shè)置了被使能線路的模式。EXTI_Mode_Event:設(shè)置EXTI線路為事件請求EXTI_Mode_Interrupt:設(shè)置EXTI線路為中斷請求

22、EXTI_Trigger EXTI_Trigger:設(shè)置了被使能線路的觸發(fā)邊沿。EXTI_Trigger_Falling:設(shè)置輸入線路下降沿為中斷請求 EXTI_Trigger_Rising:設(shè)置輸入線路上升沿為中斷請求 EXTI_Trigger_Rising_Falling:設(shè)置輸入線路上升沿和下降沿為中斷請求EXTI_LineCmd EXTI_LineCmd用來定義選中線路的新狀態(tài)。它可以被設(shè)為ENABLE或者DISABLE。3 函數(shù)EXTI_StructInit功能描述:把EXTI_InitStruct中的每一個(gè)參數(shù)按缺省值填入例: EXTI_InitTypeDef EXTI_InitS

23、tructure; EXTI_StructInit(&EXTI_InitStructure);EXTI_InitStruct缺省值EXTI_Line: EXTI_LineNone EXTI_Mode: EXTI_Mode_Interrupt EXTI_Trigger: EXTI_Trigger_Falling EXTI_LineCmd: DISABLE4 函數(shù)EXTI_GenerateSWInterrupt功能描述:產(chǎn)生一個(gè)軟件中斷例:EXTI_GenerateSWInterrupt(EXTI_Line6);5 函數(shù)EXTI_GetFlagStatus功能描述:檢查指定的EXTI線路標(biāo)志位設(shè)置

24、與否例: FlagStatus EXTIStatus; EXTIStatus = EXTI_GetFlagStatus(EXTI_Line8);6 函數(shù)EXTI_ClearFlag功能描述:清除EXTI線路掛起標(biāo)志位例:EXTI_ClearFlag(EXTI_Line2);7 函數(shù)EXTI_GetITStatus功能描述:檢查指定的EXTI線路觸發(fā)請求發(fā)生與否例: ITStatus EXTIStatus; EXTIStatus = EXTI_GetITStatus(EXTI_Line8);8 函數(shù)EXTI_ClearITPendingBit功能描述:清除EXTI線路掛起位例: EXTI_Cle

25、arITpendingBit(EXTI_Line2);三、通用定時(shí)器(TIM)TIM寄存器結(jié)構(gòu)TIM_TypeDeff,在文件“stm32f10x_map.h”中定義如下: typedef struct vu16 CR1; u16 RESERVED0; vu16 CR2; u16 RESERVED1; vu16 SMCR; u16 RESERVED2; vu16 DIER; u16 RESERVED3; vu16 SR; u16 RESERVED4; vu16 EGR; u16 RESERVED5; vu16 CCMR1; u16 RESERVED6; vu16 CCMR2; u16 RESE

26、RVED7; vu16 CCER; u16 RESERVED8; vu16 CNT; u16 RESERVED9; vu16 PSC; u16 RESERVED10; vu16 ARR; u16 RESERVED113; vu16 CCR1; u16 RESERVED12; vu16 CCR2; u16 RESERVED13; vu16 CCR3; u16 RESERVED14; vu16 CCR4; u16 RESERVED153; vu16 DCR; u16 RESERVED16; vu16 DMAR; u16 RESERVED17; TIM_TypeDef;TIM庫函數(shù)1 函數(shù)TIM_D

27、eInit功能描述:將外設(shè)TIMx寄存器重設(shè)為缺省值例: TIM_DeInit(TIM2);2 函數(shù)TIM_TimeBaseInit功能描述:根據(jù)TIM_TimeBaseInitStruct中指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位例: TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 0xFFFF; TIM_TimeBaseStructure.TIM_Prescaler = 0xF; TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; TI

28、M_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);TIM_TimeBaseInitTypeDef structure TIM_TimeBaseInitTypeDef定義于文件“stm32f10x_tim.h”: typedef struct u16 TIM_Period; u16 TIM_Prescaler; u8 TIM_ClockDivision; u16 TIM_CounterMode; TIM_TimeBaseInitType

29、Def; TIM_Period TIM_Period設(shè)置了在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值。它的取值必須在0x0000和0xFFFF之間。TIM_Prescaler TIM_Prescaler設(shè)置了用來作為TIMx時(shí)鐘頻率除數(shù)的預(yù)分頻值。它的取值必須在0x0000和0xFFFF之間。TIM_ClockDivision TIM_ClockDivision設(shè)置了時(shí)鐘分割。TIM_CKD_DIV1:TDTS = Tck_tim TIM_CKD_DIV2:TDTS = 2Tck_tim TIM_CKD_DIV4:TDTS = 4Tck_timTIM_CounterMode TIM_C

30、ounterMode選擇了計(jì)數(shù)器模式。TIM_CounterMode_Up:TIM向上計(jì)數(shù)模式TIM_CounterMode_Down:TIM向下計(jì)數(shù)模式TIM_CounterMode_CenterAligned1:TIM中央對齊模式1計(jì)數(shù)模式TIM_CounterMode_CenterAligned2:TIM中央對齊模式2計(jì)數(shù)模式TIM_CounterMode_CenterAligned3:TIM中央對齊模式3計(jì)數(shù)模式3 函數(shù)TIM_OCInit功能描述:根據(jù)TIM_OCInitStruct中指定的參數(shù)初始化外設(shè)TIMx例: TIM_OCInitTypeDef TIM_OCInitStruc

31、ture; TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_Channel = TIM_Channel_1; TIM_OCInitStructure.TIM_Pulse = 0x3FFF; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInit(TIM2, & TIM_OCInitStructure);TIM_OCInitStruct:指向結(jié)構(gòu)TIM_OCInitTypeDef的指針,包含了TIMx時(shí)間基數(shù)單位的配

32、置信息TIM_OCInitTypeDef structure TIM_OCInitTypeDef定義于文件“stm32f10x_tim.h”: typedef struct u16 TIM_OCMode; u16 TIM_Channel; u16 TIM_Pulse; u16 TIM_OCPolarity; TIM_OCInitTypeDef; TIM_OCMode TIM_OCMode選擇定時(shí)器模式。TIM_OCMode_Timing:TIM輸出比較時(shí)間模式TIM_OCMode_Active:TIM輸出比較主動(dòng)模式TIM_OCMode_Inactive:TIM輸出比較非主動(dòng)模式TIM_OCM

33、ode_Toggle:TIM輸出比較觸發(fā)模式TIM_OCMode_PWM1:TIM脈沖寬度調(diào)制模式1 TIM_OCMode_PWM2:TIM脈沖寬度調(diào)制模式2TIM_Channel TIM_Channel選擇通道。TIM_Channel_1:使用TIM通道1 TIM_Channel_2:使用TIM通道2 TIM_Channel_3:使用TIM通道3 TIM_Channel_4:使用TIM通道4TIM_Pulse TIM_Pulse設(shè)置了待裝入捕獲比較寄存器的脈沖值。它的取值必須在0x0000和0xFFFF之間。TIM_OCPolarity TIM_OCPolarity輸出極性。TIM_OCPo

34、larity_High:TIM輸出比較極性高TIM_OCPolarity_Low:TIM輸出比較極性低4 函數(shù)TIM_ICInit功能描述:根據(jù)TIM_ICInitStruct中指定的參數(shù)初始化外設(shè)TIMx例: TIM_DeInit(TIM2); TIM_ICStructInit(&TIM_ICInitStructure); TIM_ICInitStructure.TIM_ICMode = TIM_ICMode_PWMI; TIM_ICInitStructure.TIM_Channel = TIM_Channel_1; TIM_ICInitStructure.TIM_ICPolarity =

35、TIM_ICPolarity_Rising; TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; TIM_ICInitStructure.TIM_ICFilter = 0x0; TIM_ICInit(TIM2, &TIM_ICInitStructure);TIM_ICInitStruct:指向結(jié)構(gòu)TIM_ICInitTypeDef的指針,包含了TIMx的配置信息TIM_ICInitTypeDef structur

36、e TIM_ICInitTypeDef定義于文件“stm32f10x_tim.h”: typedef struct u16 TIM_ICMode; u16 TIM_Channel; u16 TIM_ICPolarity; u16 TIM_ICSelection; u16 TIM_ICPrescaler; u16 TIM_ICFilter; TIM_ICInitTypeDef; TIM_ICMode TIM_ICMode選擇了TIM輸入捕獲模式。TIM_ICMode_ICAP:TIM使用輸入捕獲模式TIM_ICMode_PWMI:TIM使用輸入PWM模式TIM_Channel TIM_Chann

37、el選擇通道。TIM_Channel_1 使用TIM通道1 TIM_Channel_2 使用TIM通道2 TIM_Channel_3 使用TIM通道3 TIM_Channel_4 使用TIM通道4TIM_ICPolarity TIM_ICPolarity輸入活動(dòng)沿。TIM_ICPolarity_Rising:TIM輸入捕獲上升沿TIM_ICPolarity_Falling:TIM輸入捕獲下降沿TIM_ICSelection TIM_ICSelection選擇輸入。TIM_ICSelection_DirectTI:TIM輸入2,3或4選擇對應(yīng)地與IC1或IC2或IC3或IC4相連TIM_ICSe

38、lection_IndirectTI:TIM輸入2,3或4選擇對應(yīng)地與IC2或IC1或IC4或IC3相連TIM_ICSelection_TRC:TIM輸入2,3或4選擇與TRC相連TIM_ICPrescaler TIM_ICPrescaler設(shè)置輸入捕獲預(yù)分頻器。TIM_ICPSC_DIV1:TIM捕獲在捕獲輸入上每探測到一個(gè)邊沿執(zhí)行一次TIM_ICPSC_DIV2:TIM捕獲每2個(gè)事件執(zhí)行一次TIM_ICPSC_DIV3:TIM捕獲每3個(gè)事件執(zhí)行一次TIM_ICPSC_DIV4:TIM捕獲每4個(gè)事件執(zhí)行一次TIM_ICFilter TIM_ICFilter選擇輸入比較濾波器。該參數(shù)取值在0x

39、0和0xF之間。5 函數(shù)TIM_TimeBaseStructInit功能描述:把TIM_TimeBaseInitStruct中的每一個(gè)參數(shù)按缺省值填入TIM_TimeBaseInitStruct:指向結(jié)構(gòu)TIM_TimeBaseInitTypeDef的指針,待初始化TIM_TimeBaseInitStruct缺省值TIM_Period:TIM_Period_Reset_Mask TIM_Prescaler:TIM_Prescaler_Reset_Mask TIM_CKD:TIM_CKD_DIV1 TIM_CounterMode:TIM_CounterMode_Up例: TIM_TimeBase

40、InitTypeDef TIM_TimeBaseInitStructure; TIM_TimeBaseStructInit(& TIM_TimeBaseInitStructure);6 函數(shù)TIM_OCStructInit功能描述:把TIM_OCInitStruct中的每一個(gè)參數(shù)按缺省值填入TIM_OCInitStruct:指向結(jié)構(gòu)TIM_OCInitTypeDef的指針,待初始化例: TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCStructInit(& TIM_OCInitStructure);TIM_OCInitStruct缺省值TIM_OCM

41、ode:TIM_OCMode_Timing TIM_Channel:TIM_Channel_1 TIM_Pulse:TIM_Pulse_Reset_Mask TIM_OCPolarity:TIM_OCPolarity_High7 函數(shù)TIM_ICStructInit功能描述:把TIM_ICInitStruct中的每一個(gè)參數(shù)按缺省值填入TIM_ICInitStruct:指向結(jié)構(gòu)TIM_ICInitTypeDef的指針,待初始化例: TIM_ICInitTypeDef TIM_ICInitStructure; TIM_ICStructInit(& TIM_ICInitStructure);TIM_

42、ICInitStruct缺省值TIM_ICMode:TIM_ICMode_ICAP TIM_Channel:TIM_Channel_1 TIM_ICPolarity:TIM_ICPolarity_Rising TIM_ICSelection:TIM_ICSelection_DirectTI TIM_ICPrescaler:TIM_ICPSC_DIV1 TIM_ICFilter:TIM_ICFilter_Mask8 函數(shù)TIM_Cmd功能描述:使能或者失能TIMx外設(shè)例: TIM_Cmd(TIM2, ENABLE);9 函數(shù)TIM _ITConfig功能描述:使能或者失能指定的TIM中斷例: T

43、IM_ITConfig(TIM2, TIM_IT_CC1, ENABLE );TIM_IT 輸入?yún)?shù)TIM_IT使能或者失能TIM的中斷TIM_IT_Update TIM中斷源TIM_IT_CC1:TIM捕獲/比較1中斷源TIM_IT_CC2:TIM捕獲/比較2中斷源TIM_IT_CC3:TIM捕獲/比較3中斷源TIM_IT_CC4:TIM捕獲/比較4中斷源TIM_IT_Trigger:TIM觸發(fā)中斷源10 函數(shù)TIM_DMAConfig功能描述:設(shè)置TIMx的DMA接口例: TIM_DMAConfig(TIM2, TIM_DMABase_CCR1, TIM_DMABurstLength_1B

44、yte)TIM_DMABase TIM_DMABase 設(shè)置DMA傳輸起始地址。TIM_DMABase_CR1:TIM CR1寄存器作為DMA傳輸起始TIM_DMABase_CR2:TIM CR2寄存器作為DMA傳輸起始TIM_DMABase_SMCR:TIM SMCR寄存器作為DMA傳輸起始TIM_DMABase_DIER:TIM DIER寄存器作為DMA傳輸起始TIM_DMABase_SR:TIM SR寄存器作為DMA傳輸起始TIM_DMABase_EGR:TIM EGR寄存器作為DMA傳輸起始TIM_DMABase_CCMR1:TIM CCMR1寄存器作為DMA傳輸起始TIM_DMABa

45、se_CCMR2:TIM CCMR2寄存器作為DMA傳輸起始TIM_DMABase_CCER:TIM CCER寄存器作為DMA傳輸起始TIM_DMABase_CNT:TIM CNT寄存器作為DMA傳輸起始TIM_DMABase_PSC:TIM PSC寄存器作為DMA傳輸起始TIM_DMABase_ARR:TIM APR寄存器作為DMA傳輸起始TIM_DMABase_CCR1:TIM CCR1寄存器作為DMA傳輸起始TIM_DMABase_CCR2:TIM CCR2寄存器作為DMA傳輸起始TIM_DMABase_CCR3:TIM CCR3寄存器作為DMA傳輸起始TIM_DMABase_CCR4:

46、TIM CCR4寄存器作為DMA傳輸起始TIM_DMABase_DCR:TIM DCR寄存器作為DMA傳輸起始TIM_DMABurstLength TIM_DMABurstLength設(shè)置DMA連續(xù)傳送長度。TIM_DMABurstLength_xByte:TIM DMA連續(xù)傳送長度x字(1-18)11 函數(shù)TIM_DMACmd功能描述:使能或者失能指定的TIMx的DMA請求例: TIM_DMACmd(TIM2, TIM_DMA_CC1, ENABLE);TIM_DMASource 輸入?yún)?shù)TIM_DMASource使能或者失能TIM的中斷。TIM_DMA_Update TIM更新DMA源TI

47、M_DMA_CC1:TIM捕獲/比較1DMA源TIM_DMA_CC2:TIM捕獲/比較2DMA源TIM_DMA_CC3:TIM捕獲/比較3DMA源TIM_DMA_CC4:TIM捕獲/比較4DMA源TIM_DMA_Trigger:TIM觸發(fā)DMA源12 函數(shù)TIM_InternalClockConfig功能描述:設(shè)置TIMx內(nèi)部時(shí)鐘例: TIM_InternalClockConfig(TIM2);13 函數(shù)TIM_ITRxExternalClockConfig功能描述:設(shè)置TIMx內(nèi)部觸發(fā)為外部時(shí)鐘模式例: TIM_ITRxExternalClockConfig(TIM2, TIM_TS_ITR

48、3);TIM_InputTriggerSource TIM_InputTriggerSource選擇TIM輸入觸發(fā)。TIM_TS_ITRx:TIM內(nèi)部觸發(fā)x(0-3)14 函數(shù)TIM_TIxExternalClockConfig功能描述:設(shè)置TIMx觸發(fā)為外部時(shí)鐘例: TIM_TIxExternalClockConfig(TIM2, TIM_TS_TI1FP1, TIM_ICPolarity_Rising, 0);TIM_TIxExternalCLKSource TIM_TIxExternalCLKSource選擇TIMx外部時(shí)鐘源。TIM_TS_TI1FP1:TIM IC1連接到TI1 TI

49、M_TS_TI1FP2:TIM IC2連接到TI2 TIM_TS_TI1F_ED:TIM IC1連接到TI1:使用邊沿探測15 函數(shù)TIM_ETRClockMode1Config功能描述:配置TIMx外部時(shí)鐘模式1例: TIM_ExternalCLK1Config(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);TIM_ExtTRGPrescaler TIM_ExtTRGPrescaler設(shè)置TIMx外部觸發(fā)預(yù)分頻。TIM_ExtTRGPSC_OFF:TIM ETRP 預(yù)分頻 OFF TIM_ExtTRGPSC_DI

50、V2:TIM ETRP頻率除以2 TIM_ExtTRGPSC_DIV4:TIM ETRP頻率除以4 TIM_ExtTRGPSC_DIV8:TIM ETRP頻率除以8TIM_ExtTRGPolarity TIM_ExtTRGPolarity設(shè)置TIMx外部觸發(fā)極性。TIM_ExtTRGPolarity_Inverted:TIM外部觸發(fā)極性翻轉(zhuǎn):低電平或下降沿有效TIM_ExtTRGPolarity_NonInverted:TIM外部觸發(fā)極性非翻轉(zhuǎn):高電平或上升沿有效16 函數(shù)TIM_ETRClockMode2Config功能描述:配置TIMx外部時(shí)鐘模式2例: TIM_ExternalCLK2C

51、onfig(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);17 函數(shù)TIM_ETRConfig功能描述:配置TIMx外部觸發(fā)例: TIM_ExternalCLK2Config(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);18 函數(shù)TIM_SelectInputTrigger功能描述:選擇TIMx輸入觸發(fā)源例: void TIM_SelectInputTrigger(TIM2, TIM_TS_ITR3);TIM_InputTriggerSource TIM_InputTriggerSource選擇TIMx輸入觸發(fā)源。TIM_TS_ITR0:TIM內(nèi)部觸發(fā)0 TIM_TS_ITR1:TIM內(nèi)部觸發(fā)1 TIM_TS_ITR2:TIM內(nèi)部觸發(fā)2 TIM_TS_ITR3:TIM內(nèi)部觸發(fā)3 TIM_TS_TI1F_ED:TIM TL1 邊沿探測器TIM_TS_TI1FP1:TIM經(jīng)濾波定時(shí)器輸入1 TIM_TS_TI2FP2:TIM經(jīng)濾波定時(shí)器輸入2 TIM_TS_ETRF:TIM外部觸發(fā)輸入19 函數(shù)TIM_PrescalerConfig功能描述:設(shè)置TIMx預(yù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論