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

下載本文檔

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

文檔簡(jiǎn)介

STM32庫(kù)函數(shù)功能詳解2--------------------------------------------------------------------------------------------3-----------------------------------------------------------------------------------7三、通用定時(shí)器(TIM)-------------------------------------------------------------------------------------------------9------------------------------------------------------------------------25-------------------------------------------------------------------------------------------------33---------------------------------------------------------------37七、復(fù)位和時(shí)鐘設(shè)置(RCC)------------------------------------------------------------------------------------------41------------------------------------------------------------------------3在函數(shù)名中,只允許存在一個(gè)下劃線,用以分隔外設(shè)縮寫(xiě)和函數(shù)名的其它部分。TIM_Init.TIM1_DMAConfig.用以配置外設(shè)功能GPIO_PinRemapConfig.typedefsignedchars8;4typedefstruct{vu32CRL;vu32CRH;vu32IDR;vu32ODR;vu32BSRR;vu32BRR;vu32LCKR;}GPIO_TypeDef;typedefstruct{vu32EVCR;vu32MAPR;vu32EXTICR[4];}AFIO_TypeDef;5GPIO庫(kù)函數(shù)GPIO_DeInit(GPIOA);GPIO_AFIODeInit();GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitTypeDefstructuretypedefstruct{u16GPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;}GPIO_InitTypeDef;GPIO_PinGPIO_SpeedGPIO_Mode6GPIO_InitTypeDefGPIO_InitStructure;GPIO_StructInit(&GPIO_InitStructure);GPIO_Speed:GPIO_SpeeGPIO_Mode:GPIO_Mode_IN_FLOu8ReadValue;ReadValue=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);ReadValue=GPIO_ReadInputData(GPIOC);7函數(shù)GPIO_ReadOutputDataBitu8ReadValue;ReadValue=GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_7);u16ReadValue;ReadValue=GPIO_ReadOutputData(GPIOC);7GPIO_SetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);GPIO_ResetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);GPIO_WriteBit(GPIOA,GPIO_Pin_15,Bit_SET);GPIO_Write(GPIOA,0x1101);GPIO_PinLockConfig(GPIOA,GPIO_Pin_0|GPIO_Pin_1);GPIO_EventOutputConfig(GPIO_PortSourceGPIOE,GPIO_PinSource5);GPIO_PortSourceGPIO_PinSource8GPIO_EventOutputConfig(GPIO_PortSourceGPIOC,GPIO_PinSource6);GPIO_EventOutputCmd(ENABLE);GPIO_PinRemapConfig(GPIO_Remap_I2C1,ENABLE);GPIO_RemapGPIO_PartialRemap_USAGPIO_FullRemap_USART3GPIO_PartialRemap_TGPIO_PartialRemap1_TIMGPIO_PartialRemap2_TIMGPIO_PartialRemap_TGPIO_Remap_SWJ_NoJTRST:除JTRST外SWJ完GPIO_Remap_SWJ_JTAGDGPIO_Remap_SWJ_Disable:GPIO_EXTILineConfig(GPIO_PortSource_GPIOB,GPIO_PinSource8);9typedefstruct{vu32IMR;vu32EMR;vu32RTSR;vu32FTSR;vu32SWIER;vu32PR;}EXTI_TypeDef;EXTI_DeInit();EXTI_InitTypeDefEXTI_InitStructure;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_InitTypeDefstructuretypedefstructEXTIMode_TypeDefEXTI_Mode;EXTIrigger_TypeDefEXTI_Trigger;FunctionalStateEXTI_LineCmd;}EXTI_InitTypeDef;EXTI_ModeEXTI_TriggerEXTI_LineCmdEXTI_InitTypeDefEXTI_InitStructure;EXTI_StructInit(&EXTI_InitStructure);4函數(shù)EXTI_GenerateSWInterruEXTI_GenerateSWInterrupt(EXTI_Line6);FlagStatusEXTIStatus;EXTIStatus=EXTI_GetFlagStatus(EXTI_Line8);EXTI_ClearFlag(EXTI_Line2);ITStatusEXTIStatus;EXTIStatus=EXTI_GetITStatus(EXTI_Line8);EXTI_ClearITpendingBit(EXTI_Line2);TIM寄存器結(jié)構(gòu)typedefstruct{vu16CR1;u16RESERVED0;vu16CR2;u16RESERVED1;vu16SMCR;u16RESERVED2;vu16DIER;u16RESERVED3;vu16SR;u16RESERVED4;vu16EGR;u16RESERVED5;vu16CCMR1;u16RESERVED6;vu16CCMR2;u16RESERVED7;vu16CCER;u16RESERVED8;vu16CNT;u16RESERVED9;vu16PSC;u16RESERVED10;vu16ARR;u16RESERVED11[3];vu16CCR1;u16RESERVED12;vu16CCR2;u16RESERVED13;vu16CCR3;u16RESERVED14;vu16CCR4;u16RESERVED15[3];vu16DCR;u16RESERVED16;vu16DMAR;u16RESERVED17;}TIM_TypeDef;TIM庫(kù)函數(shù)TIM_DeInit(TIM2);2函數(shù)TIM_TimeBaseInitTIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_TimeBaseStructure.TIM_Period=0xFFFF;TIM_TimeBaseStructure.TIM_Prescaler=0xF;TIM_TimeBaseStructure.TIM_ClockDivision=0x0;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);TIM_TimeBaseInitTypeDefstructuretypedefstruct{u16TIM_Period;u16TIM_Prescaler;u8TIM_ClockDivision;u16TIM_CounterMode;}TIM_TimeBaseInitTypeDef;TIM_PeriodTIM_Period設(shè)置了在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值。它TIM_PrescalerTIM_Prescaler設(shè)置了用來(lái)作為T(mén)IMx時(shí)鐘頻率除數(shù)的預(yù)分頻值。它的取值必須在0x0000和0xFFFF之TIM_ClockDivisionTIM_CounterModeTIM_CounterMode_Up:TIM向上計(jì)數(shù)模式TIM_CounterMode_Down:TIM向下計(jì)數(shù)模式TIM_CounterMode_CenterAligned1:TIM中央對(duì)齊模式1TIM_CounterMode_CenterAligned2:TIM中央對(duì)齊模式2功能描述:根據(jù)TIM_OCInitStruTIM_OCInitTypeDefTIM_OCInitStructure;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);指向結(jié)構(gòu)TIM_OCInitTypeDef的指針,包含了TIMx時(shí)間基數(shù)TIM_OCInitTypeDefstructuretypedefstruct{u16TIM_OCMode;u16TIM_Channel;u16TIM_Pulse;u16TIM_OCPolarity;}TIM_OCInitTypeDef;TIM_OCModeTIM_OCMode_Timing:TIM輸出比TIM_OCMode_Inactive:TIM輸出比較TIM_OCMode_Toggle:TIM輸出比TIM_OCMode_PWM1:TIM脈沖寬度調(diào)制模式1TIM_ChannelTIM_Channel_1:使用TIM通TIM_Channel_2:使用TIM通TIM_Channel_3:使用TIM通TIM_Channel_4:使用TIM通TIM_PulseTIM_OCPolarityTIM_OCPolarity_High:TIM輸出比較TIM_OCPolarity_Low:4函數(shù)TIM_ICInit功能描述:根據(jù)TIM_ICInitStruTIM_DeInit(TIM2);TIM_ICStructInit(&TIM_ICInitStructure);TIM_ICInitStructure.TIM_ICMode=TIM_ICMode_PWMI;TIM_ICInitStructure.TIM_Channel=TIM_Channel_1;TIM_ICInitStructure.TIM_ICPolarity=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_ICInitTypeDefstructuretypedefstruct{u16TIM_ICMode;u16TIM_Channel;u16TIM_ICPolarity;u16TIM_ICSelection;u16TIM_ICPrescaler;u16TIM_ICFilter;}TIM_ICInitTypeDef;TIM_ICModeTIM_ICMode_PWMI:TIM使用輸入PWM模式TIM_ChannelTIM_ICPolarityTIM_ICPolarity_Rising:TIM輸入捕獲TIM_ICPolarity_Falling:TIM輸入捕獲下降沿TIM_ICSelectionTIM_ICSelection_DirTIM_ICPrescalerTIM_ICPSC_DIV1:TIM捕獲在捕獲輸入上每探測(cè)到一個(gè)邊沿執(zhí)行一次TIM_ICPSC_DIV2:TIM捕獲每2個(gè)事件執(zhí)行一次TIM_ICPSC_DIV3:TIM捕獲每3個(gè)事件執(zhí)行一次TIM_ICPSC_DIV4:TIM捕獲每4個(gè)事件執(zhí)行一次TIM_ICFilter5函數(shù)TIM_TimeBaseStructInit功能描述:把TIM_TimeBaseInitSTIM_TimeBaseInitStruct:指向結(jié)構(gòu)TIM_TimeBaseInitTypeDef的指針,待初始化TIM_TimeBaseInitStructTIM_Period:TIM_Period_ResTIM_Prescaler:TIM_Prescaler_TIM_CKD:TIM_CKD_DIV1TIM_CounterMode:TIM_CounterMode_UpTIM_TimeBaseInitTypeDefTIM_TimeBaseInitStructure;TIM_TimeBaseStructInit(&TIM_TimeBaseInitStructure);6函數(shù)TIM_OCStructInitTIM_OCInitStruct:指向結(jié)構(gòu)TIM_OCInitTypeDef的TIM_OCInitTypeDefTIM_OCInitStructure;TIM_OCStructInit(&TIM_OCInitStructure);TIM_OCInitStruct缺省值TIM_OCMode:TIM_OCMode_TimingTIM_Channel:TIM_Channel_1TIM_Pulse:TIM_Pulse_ReTIM_OCPolarity:TIM_OCPola7函數(shù)TIM_ICStructInitTIM_ICInitStruct:指向結(jié)構(gòu)TIM_ICInitTypeDef的指TIM_ICInitTypeDefTIM_ICInitStructure;TIM_ICStructInit(&TIM_ICInitStructure);TIM_ICInitStruct缺省值TIM_ICMode:TIM_ICMode_ICAPTIM_Channel:TIM_Channel_1TIM_ICPolarity:TIM_ICPolarTIM_ICSelection:TIM_ICSelectioTIM_ICPrescaler:TIM_ICPSC_TIM_ICFilter:TIM_ICFilter_MaTIM_Cmd(TIM2,ENABLE);TIM_ITConfig(TIM2,TIM_IT_CC1,ENABLE);TIM_ITTIM_IT_Trigger:TIM觸發(fā)中TIM_DMAConfig(TIM2,TIM_DMABase_CCR1,TIM_DMABurstLength_1Byte)TIM_DMABaseTIM_DMABase_CR1:TIMCR1寄存器作為DMATIM_DMABase_CR2:TIMCR2寄存器作為DMATIM_DMABase_SMCR:TIMSMCR寄存器作為DMA傳輸起始TIM_DMABase_SR:TIMSR寄存器作為DMA傳輸起始TIM_DMABase_CCMR1:TIMCCMR1寄存器作為DMA傳輸起始TIM_DMABase_CCMR2:TIMCCMR2寄存器作為DMA傳輸起始TIM_DMABase_CCER:TIMCTIM_DMABase_CNT:TIMCNT寄存器作為DMA傳輸起始TIM_DMABase_ARR:TIMAPR寄存器作為DMA傳輸起始TIM_DMABase_CCR1:TIMCCR1寄存器作為DMA傳輸起始TIM_DMABase_CCR2:TIMCCR2寄存器作為DMA傳輸起始TIM_DMABase_CCR3:TIMCCR3寄存器作為DMA傳輸起始TIM_DMABase_CCR4:TIMCCR4寄存器作為DMA傳輸起始TIM_DMABurstLengthTIM_DMACmd(TIM2,TIM_DMA_CC1,ENABLE);TIM_DMASourceTIM_DMA_UpdateTIM更新DMA源TIM_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_InternalClockConTIM_InternalClockConfig(TIM2);13函數(shù)TIM_ITRxExternalClockConfigTIM_ITRxExternalClockConfig(TIM2,TIM_TS_ITR3);TIM_InputTriggerSourceTIM_TS_ITRx:TIM內(nèi)部觸發(fā)x(0--3)14函數(shù)TIM_TIxExternalClockConfigTIM_TIxExternalClockConfig(TIM2,TIM_TS_TI1FP1,TIM_ICPolarity_Rising,0);TIM_TIxExternalCLKSource15函數(shù)TIM_ETRClockMode1ConfigTIM_ExternalCLK1Config(TIM2,TIM_ExtTRGPSC_DIV2,TIM_ExtTRGPolarity_NonInverted,0x0);TIM_ExtTRGPrescalerTIM_ExtTRGPolarityTIM_ExtTRGPolarity_Inverted:TIM外部觸發(fā)極性翻轉(zhuǎn):低電平或下降沿有效TIM_ExtTRGPolarity_NonInve16函數(shù)TIM_ETRClockMode2ConfigTIM_ExternalCLK2Config(TIM2,TIM_ExtTRGPSC_DIV2,TIM_ExtTRGPolarity_NonInverted,0x0);TIM_ExternalCLK2Config(TIM2,TIM_ExtTRGPSC_DIV2,TIM_ExtTRGPolarity_NonInverted,0x0);18函數(shù)TIM_SelectInputvoidTIM_SelectInputTrigger(TIM2,TIM_TS_ITR3);TIM_InputTriggerSourceTIM_TS_TI1F_ED:TIMTL1邊沿探測(cè)器TIM_TS_TI1FP1:TIM經(jīng)濾波定時(shí)器TIM_TS_TI2FP2:TIM經(jīng)濾波定時(shí)器u16TIMPrescaler=0xFF00;TIM_PrescalerConfig(TIM2,TIMPrescaler,TIM_PSCReloadMode_Immediate);TIM_PSCReloadModeTIM_PSCReloadMode_Update:TIM預(yù)分頻值在更新事件裝入TIM_PSCReloadMode_Immediate:TIM預(yù)分頻值即時(shí)裝入20函數(shù)TIM_CounterModeConfigTIM_CounterModeConfig(TIM2,TIM_Counter_CenterAligned1);21函數(shù)TIM_ForcedOC1ConfigTIM_ForcedOC1Config(TIM2,TIM_ForcedAction_Active);TIM_ForcedActionTIM_ForcedAction_Active:置為OCxREF上的活動(dòng)電平TIM_ForcedAction_InActive:置為OCxREF上的非22函數(shù)TIM_ForcedOC2ConfigTIM_ForcedOC2Config(TIM2,TIM_ForcedAction_Active);23函數(shù)TIM_ForcedOC3ConfigTIM_ForcedOC3Config(TIM2,TIM_ForcedAction_Active);24函數(shù)TIM_ForcedOC4ConfigTIM_ForcedOC4Config(TIM2,TIM_ForcedAction_Active);25函數(shù)TIM_ARRPreloadConfigTIM_ARRPreloadConfig(TIM2,ENABLE);TIM_SelectCCDMA(TIM2,ENABLE);27函數(shù)TIM_OC1PreloadConfigTIM_OC1PreloadConfig(TIM2,TIM_OCPreload_Enable);TIM_OCPreloadTIM_OCPreload_Enable:TIMx在CCRTIM_OCPreload_Disable:TIMx在CCR28函數(shù)TIM_OC2PreloadConfigTIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable);29函數(shù)TIM_OC3PreloadConfigTIM_OC3PreloadConfig(TIM2,TIM_OCPreload_Enable);30函數(shù)TIM_OC4PreloadConfigTIM_OC4PreloadConfig(TIM2,TIM_OCPreload_Enable);31函數(shù)TIM_OC1FastConfigTIM_OC1FastConfig(TIM2,TIM_OCFast_Enable);TIM_OCFastTIM_OCFast_Enable:TIMx輸出比較快速特征性能使能TIM_OCFast_Disable:TIMx輸出比較快32函數(shù)TIM_OC2FastConfigTIM_OC2FastConfig(TIM2,TIM_OCFast_Enable);33函數(shù)TIM_OC3FastConfigTIM_OC3FastConfig(TIM2,TIM_OCFast_Enable);34函數(shù)TIM_OC4FastConfigTIM_OC4FastConfig(TIM2,TIM_OCFast_Enable);35函數(shù)TIM_ClearOC1RefTIM_ClearOC1Ref(TIM2,TIM_OCClear_Enable);TIM_OCClearTIM_OCClear_Enable:TIMx輸出TIM_OCClear_Disable:TIMx輸出比較清除失能36函數(shù)TIM_ClearOC2RefTIM_ClearOC2Ref(TIM2,TIM_OCClear_Enable);37函數(shù)TIM_ClearOC3RefTIM_ClearOC3Ref(TIM2,TIM_OCClear_Enable);38函數(shù)TIM_ClearOC4RefTIM_ClearOC4Ref(TIM2,TIM_OCClear_Enable);39函數(shù)TIM_UpdateDisableConfigTIM_UpdateDisableConfig(TIM2,DISABLE);40函數(shù)TIM_EncoderInterfaceConfigTIM_EncoderInterfaceConfig(TIM2,TIM_EncoderMode_TI1,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising);TIM_EncoderModeTIM_EncoderMode_TI1使用TIM編碼模式1TIM_EncoderMode_TI1使用TIM編碼模式2TIM_EncoderMode_TI12使用TIM編碼模式341函數(shù)TIM_GenerateEventTIM_GenerateEvent(TIM2,TIM_EventSource_Trigger);TIM_EventSource42函數(shù)TIM_OC1PolarityConfigTIM_OC1PolarityConfig(TIM2,TIM_OCPolarity_High);43函數(shù)TIM_OC2PolarityConfigTIM_OC2PolarityConfig(TIM2,TIM_OCPolarity_High);44函數(shù)TIM_OC3PolarityConfigTIM_OC3PolarityConfig(TIM2,TIM_OCPolarity_High);45函數(shù)TIM_OC4PolarityConfigTIM_OC4PolarityConfig(TIM2,TIM_OCPolarity_High);46函數(shù)TIM_UpdateRequestConfigTIM_UpdateRequestConfig(TIM2,TIM_UpdateSource_Regular);TIM_UpdateSourceTIM_UpdateSource_Global:生成重復(fù)的脈TIM_UpdateSource_Regular:生成單一的脈沖:計(jì)數(shù)器在下一個(gè)更新事件停止47函數(shù)TIM_SelectHallSensorTIM_SelectHallSensor(TIM2,ENABLE);48函數(shù)TIM_SelectOnePulseModeTIM_SelectOnePulseMode(TIM2,TIM_OPMode_Single);TIM_OPModeTIM_OPMode_Repetitive:生成重復(fù)的脈沖:在更TIM_OPMode_Single:生成單一的脈沖:計(jì)數(shù)器在下一個(gè)更新事件停止49函數(shù)TIM_SelectOutputTriggerTIM_SelectOutputTrigger(TIM2,TIM_TRGOSource_Update);TIM_TRGOSourceTIM_TRGOSource_Reset:使用寄存器TTIM_TRGOSource_Enable:使用計(jì)數(shù)器使能CEN作為觸發(fā)輸出(TRTIM_TRGOSource_Update:使用更新事件作為觸發(fā)輸出(TTIM_TRGOSource_OC1:一旦捕獲或者比較匹配發(fā)生,當(dāng)標(biāo)志位CC1F被設(shè)置TIM_TRGOSource_OC2Ref:使用OC2REF作為觸發(fā)輸出(TRGTIM_TRGOSource_OC3Ref:使用OC3REF作為觸發(fā)輸出(TRGTIM_TRGOSource_OC4Ref:使用OC4REF作為觸發(fā)輸出(TRG50函數(shù)TIM_SelectSlaveModeTIM_SelectSlaveMode(TIM2,TIM_SlaveMode_Gated);TIM_SlaveModeTIM_SlaveMode_Reset:選中觸發(fā)信號(hào)(TRGI)的上升TIM_SlaveMode_Gated:當(dāng)TIM_SlaveMode_Trigger51函數(shù)TIM_SelectMasterSlaveModeTIM_SelectMasterSlaveMode(TIM2,TIM_MasterSlaveMode_Enable);TIM_MasterSlaveModeTIM_MasterSlaveMode_Enable:TIM主/從模式使能u16TIMCounter=0xFFFF;TIM_SetCounter(TIM2,TIMCounter);u16TIMAutoreload=0xFFFF;TIM_SetAutoreload(TIM2,TIMAutoreload);u16TIMCompare1=0x7FFF;TIM_SetCompare1(TIM2,TIMCompare1);u16TIMCompare2=0x7FFF;TIM_SetCompare2(TIM2,TIMCompare2);u16TIMCompare3=0x7FFF;TIM_SetCompare3(TIM2,TIMCompare3);u16TIMCompare4=0x7FFF;TIM_SetCompare4(TIM2,TIMCompare4);58函數(shù)TIM_SetIC1PrescTIM_SetIC1Prescaler(TIM2,TIM_ICPSC_Div2);59函數(shù)TIM_SetIC2PrescTIM_SetIC2Prescaler(TIM2,TIM_ICPSC_Div2);60函數(shù)TIM_SetIC3PrescalTIM_SetIC3Prescaler(TIM2,TIM_ICPSC_Div2);61函數(shù)TIM_SetIC4PrescalTIM_SetIC4Prescaler(TIM2,TIM_ICPSC_Div2);62函數(shù)TIM_SetClockDivisionTIM_SetClockDivision(TIM2,TIM_CKD_DIV4);u16ICAP1value=TIM_GetCapture1(TIM2);u16ICAP2value=TIM_GetCapture2(TIM2);u16ICAP3value=TIM_GetCapture3(TIM2);u16ICAP4value=TIM_GetCapture4(TIM2);u16TIMCounter=TIM_GetCounter(TIM2);u16TIMPrescaler=TIM_GetPrescaler(TIM2);69函數(shù)TIM_GetFlagStatif(TIM_GetFlagStatus(TIM2,TIM_FLAG_CC1)==SET){}TIM_FLAG值TIM_FLAG_UpdateTIM更TIM_FLAG_CC1:TIM捕獲/比較TIM_ClearFlag(TIM2,TIM_FLAG_CC1);if(TIM_GetITStatus(TIM2,TIM_IT_CC1)==SET){}72函數(shù)TIM_ClearITPendingBitTIM_ClearITPendingBit(TIM2,TIM_IT_CC1);voidADC_Config(void){}typedefstruct{vu32SR;vu32CR1;vu32CR2;vu32SMPR1;vu32SMPR2;vu32JOFR1;vu32JOFR2;vu32JOFR3;vu32JOFR4;vu32HTR;vu32LTR;vu32SQR1;vu32SQR2;vu32SQR3;vu32JSQR;vu32JDR1;vu32JDR2;vu32JDR3;vu32JDR4;vu32DR;}ADC_TypeDef;ADC庫(kù)函數(shù)ADC_DeInit(ADC2);{ADC_InitTypeDefADC_InitStructure;ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;ADC_InitStructure.ADC_ScanConvMode=ENABLE;ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_Ext_IT11;ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;ADC_InitStructure.ADC_NbrOfChannel=16;ADC_Init(ADC1,&ADC_InitStructure);}ADC_InitTypeDef:typedefstruct{u32ADC_Mode;FunctionalStateADC_ScanConvMode;FunctionalStateADC_ContinuousConvMode;u32ADC_ExternalTrigConv;u32ADC_DataAlign;u8ADC_NbrOfChannel;}ADC_InitTypeDefADC_Mode:ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;ADC_ScanConvMode:ADC_ScanConvMode規(guī)定了模數(shù)轉(zhuǎn)換工作在掃描模式(多通道ADC_InitStructure.ADC_ScanConvMode=ENABLE;ADC_ContinuousConvMode:ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;ADC_ExternalTrigConv:ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_Ext_IT11;ADC_DataAlign:ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;ADC_NbrOfChannel:ADC_InitStructure.ADC_NbrOfChannel=16;ADC_ScanConvMode:DISADC_ContinuousConvMode:DISABADC_ExternalTrigConv:ADC_ExterADC_DataAlign:ADC_DataAADC_NbrOfChannel:1ADC_InitTypeDefADC_InitStructure;ADC_StructInit(&ADC_InitStructureADC_Cmd(ADC1,ENABLE);ADC_DMACmd(ADC2,ENABLE);ADC_ITConfig(ADC2,ADC_IT_EOC|ADC_IT_AWD,ENABLE);ADC_IT:7函數(shù)ADC_ResetCalibration();ADC_ResetCalibration(ADC1);8函數(shù)ADC_GetResetCalibrationStatus();FlagStatusStatus;Status=ADC_GetResetCalibrationStatus(ADC2);9函數(shù)ADC_StartCalibration();ADC_StartCalibration(ADC2);10函數(shù)ADC_GetCalibrationStatusFlagStatusStatus;Status=ADC_GetCalibrationStatus(ADC2);11函數(shù)ADC_SoftwareStartConvCmd();ADC_SoftwareStartConvCmd(ADC1,ENABLE);12函數(shù)ADC_GetSoftwareStartConvStatus();FlagStatusStatus;Status=ADC_GetSoftwareStartConvStatus(ADC1);13函數(shù)ADC_DiscModeChannelCountConfig();ADC_DiscModeChannelCountConfig(ADC1,2);ADC_DiscModeCmd(ADC1,ENABLE);15函數(shù)ADC_RegularChannelConfig();ADC_RegularChannelConfig(ADC1,ADC_Channel_2,1,ADC_SampleTime_7Cycles5);ADC_RegularChannelConfig(ADC1,ADC_Channel_8,2,ADC_SampleTime_1Cycles5);ADC_SampleTime16函數(shù)ADC_ExternalTrigConvConfig();ADC_ExternalTrigConvCmd(ADC1,ENABLE);17函數(shù)ADC_GetConversionValue();u16DataValue;DataValue=ADC_GetConversionValue(ADC1);18函數(shù)ADC_GetDuelModeConversionValue();u32DataValue;DataValue=ADC_GetDualModeConversionValue();19函數(shù)ADC_AutoInjectedConvCmd();ADC_AutoInjectedConvCmd(ADC2,ENABLE);20函數(shù)ADC_InjectedDiscModeCmd();ADC_InjectedDiscModeCmd(ADC2,ENABLE);21函數(shù)ADC_ExternalTrigInjectedConvConfig();ADC_ExternalTrigInjectedConvConfig(ADC1,ADC_ExternalTrigConv_T1_CC4);ADC_ExternalTrigInjectedConv22函數(shù)ADC_ExternalTrigInjectedConvCmd();ADC_ExternalTrigInjectedConvCmd(ADC1,ENABLE);23函數(shù)ADC_SoftwareStartinjectedConvCmd();ADC_SoftwareStartInjectedConvCmd(ADC2,ENABLE);24函數(shù)ADC_GetsoftwareStartinjectedConvStatus();FlagStatusStatus;Status=ADC_GetSoftwareStartInjectedConvStatus(ADC1);25函數(shù)ADC_InjectedChannleConfig();ADC_InjectedChannelConfig(ADC1,ADC_Channel_12,2,ADC_SampleTime_28Cycles5);ADC_InjectedChannelConfig(ADC2,ADC_Channel_4,11,ADC_SampleTime_71Cycles5);26函數(shù)ADC_InjectedSequencerLengthConfig();ADC_InjectedSequencerLengthConfig(ADC1,4);27函數(shù)ADC_SetinjectedOffset();ADC_SetInjectedOffset(ADC1,ADC_InjectedChannel_3,0x100);ADC_InjectedChannel28函數(shù)ADC_GetInjectedConversionValue();u16InjectedDataValue;InjectedDataValue=ADC_GetInjectedConversionValue(ADC1,ADC_InjectedChannel_1);29函數(shù)ADC_AnalogWatchdogCmd();ADC_AnalogWatchdogCmd(ADC2,ADC_AnalogWatchdog_AllRegAllInjecEnable);30函數(shù)ADC_AnalogWatchdongThresholdsConfig();ADC_AnalogWatchdogThresholdsConfig(ADC1,0x400,0x100);31函數(shù)ADC_AnalogWatchdongSingleChannelConfig();ADC_AnalogWatchdogSingleChannelConfig(ADC1,ADC_Channel_1);32函數(shù)ADC_TampSensorVrefintCmd();ADC_TempSensorVrefintCmd(ENABLE);FlagStatusStatus;Status=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);ADC_FLAGADC_ClearFlag(ADC2,ADC_FLAG_STRT);ITStatusStatus;Status=ADC_GetITStatus(ADC1,ADC_IT_AWD);36函數(shù)ADC_ClearITPendingBit();ADC_ClearITPendingBit(ADC2,ADC_IT_JEOC);typedefstruct{u32RESERVED0;vu16DR1;u16RESERVED1;vu16DR2;u16RESERVED2;vu16DR3;u16RESERVED3;vu16DR4;u16RESERVED4;vu16DR5;u16RESERVED5;vu16DR6;u16RESERVED6;vu16DR7;u16RESERVED7;vu16DR8;u16RESERVED8;vu16DR9;u16RESERVED9;vu16DR10;u16RESERVED10;vu16RTCCR;u16RESERVED11;vu16CR;u16RESERVED12;vu16CSR;u16RESERVED13;}BKP_TypeDef;BKP_DeInit();2函數(shù)BKP_TamperPinLevelCoBKP_TamperPinLevelConfig(BKP_TamperPinLevel_High);BKP_TamperPinLevelBKP_TamperPinCmd(ENABLE);BKP_ITConfig(ENABLE);BKP_RTCOutputConfig(BKP_RTCOutputSource_CalibClock);BKP_RTCOutputSource6函數(shù)BKP_SetRTCCalibrationValuBKP_SetRTCCalibrationValue(0x7F);7函數(shù)BKP_WriteBackupRBKP_WriteBackupRegister(BKP_DR1,0xA587);8函數(shù)BKP_ReadBackupRegu16Data;Data=BKP_ReadBackupRegister(BKP_DR1);FlagStatusStatus;Status=BKP_GetFlagStatus();if(Status==RESET)BKP_ClearFlag();ITStatusStatus;Status=BKP_GetITStatus();if(Status==RESET)BKP_ClearITPendingBit();DMA寄存器結(jié)構(gòu)typedefstruct{vu32CCR;vu32CNDTR;vu32CPAR;vu32CMAR;}DMA_Channel_TypeDef;typedefstruct{vu32ISR;vu32IFCR;}DMA_TypeDef;DMA庫(kù)函數(shù)DMA_DeInit(DMA_Channel2);功能描述:根據(jù)DMA_InitStruct中指定DMA_InitTypeDefstructuretypedefstruct{u32DMA_PeripheralBaseAddr;u32DMA_MemoryBaseAddr;u32DMA_DIR;u32DMA_BufferSize;u32DMA_PeripheralInc;u32DMA_MemoryInc;u32DMA_PeripheralDataSize;u32DMA_MemoryDataSize;u32DMA_Mode;u32DMA_Priority;u32DMA_M2M;}DMA_InitTypeDef;DMA_PeripheralBaseAddrDMA_MemoryBaseAddrDMA_BufferSizeDMA_BufferSize用以定義指定DMA通道的DMA緩存的大小,單位為數(shù)據(jù)單位。根據(jù)傳輸方向,數(shù)據(jù)單位等于結(jié)構(gòu)中參數(shù)DMA_PeripheralDaDMA_PeripheralIncDMA_PeripheralInc用來(lái)設(shè)定外設(shè)地址寄存器DMA_MemoryIncDMA_PeripheralDataSizeDMA_MemoryDataSizeDMA_ModeDMA_PriorityDMA_InitTypeDefDMA_InitStructure;DMA_InitStructure.DMA_PeripheralBaseAddr=0x40005400;DMA_InitStructure.DMA_MemoryBaseAddr=0x20000100;DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC;DMA_InitStructure.DMA_BufferSize=256;DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable;DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_HalfWord;DMA_InitStructure.DMA_Mode=DMA_Mode_Normal;DMA_InitStructure.DMA_Priority=DMA_Priority_Medium;DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;DMA_Init(DMA_Channel1,&DMA_InitStructure);3函數(shù)DMA_StructInitDMA_PeripheralInc:DMA_PeripheralInc_DMA_MemoryInc:DMA_MemorDMA_PeripheralDataSize:DMA_PeripheralDataSizeDMA_MemoryDataSize:DMA_MemoryDataDMA_InitTypeDefDMA_InitStructure;DMA_StructInit(&DMA_InitStructure);DMA_Cmd(DMA_Channel7,ENABLE);DMA_ITConfig(DMA_Channel5,DMA_IT_TC,ENABLE);6函數(shù)DMA_GetCurrDataCounte功能描述:返回當(dāng)前DMA通道x剩余的待傳輸數(shù)據(jù)數(shù)目u16CurrDataCount;CurrDataCount=DMA_GetCurrDataCounter(DMA_Channel2);7函數(shù)DMA_GetFlagStatusFlagStatusStatus;Status=DMA_GetFlagStatus(DMA_FLAG_HT6);8函數(shù)DMA_ClearFlagDMA_ClearFlag(DMA_FLAG_TE3);ITStatusStatus;Status=DMA_GetITStatus(DMA_IT_TC7);10函數(shù)DMA_ClearITPendingDMA_ClearITPendingBit(DMA_IT_GL5);RCC寄存器結(jié)構(gòu)typedefstruct{vu32CR;vu32CFGR;vu32CIR;vu32APB2RSTR;vu32APB1RSTR;vu32AHBENR;vu32APB2ENR;vu32APB1ENR;vu32BDCR;vu32CSR;}RCC_TypeDef;RCC庫(kù)函數(shù)RCC_DeInit();RCC_HSEConfig(RCC_HSE_ON);3函數(shù)RCC_WaitForHSEStartUpErrorStatusHSEStartUpStatus;RCC_HSEConfig(RCC_HSE_ON);/*EnableHSE*/HSEStartUpStatus=RCC_WaitForHSEStartUp();/*WaittillHSEisreadyandifTimeoutisreachedexit*/if(HSEStartUpStatus==SUCCESS){/*AddherePLLanssystemclockconfig*/}{/*Addheresomecodetodealwiththiserror*/}4函數(shù)RCC_AdjustHSICalibrationValueRCC_AdjustHSICalibrationValue(0x1F);RCC_HSICmd(ENABLE);RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);RCC_PLLSourceRCC_PLLMul_a:PLL輸入時(shí)鐘xa2--16)RCC_PLLCmd(ENABLE);RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);RCC_SYSCLKSource9函數(shù)RCC_GetSYSCLKSourceif(RCC_GetSYSCLKSource()!=0x04)/*TestifHSEisusedassystemclock*/{}{}/*ConfigureHCLKsuchasHCLK=SYSCLK*/RCC_HCLKConfig(RCC_SYSCLK_Div1);RCC_HCLKRCC_PCLK1Config(RCC_HCLK_Div2);RCC_PCLK1RCC_PCLK2Config(RCC_HCLK_Div1);RCC_PCLK2RCC_ITConfig(RCC_IT_PLLRDY,ENABLE);RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);RCC_USBCLKSourceRCC_ADCCLKConfig(RCC_PCLK2_Div2);RCC_ADCCLKSource/*EnabletheLSE*/RCC_LSEConfig(RCC_LSE_ON);RCC_LSICmd(ENABLE);RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);RCC_RTCCLKSourceRCC_RTCCLKSource_HSE_DRCC_RTCCLKCmd(ENABLE);RCC_ClocksTypeDefRCC_Clocks;RCC_GetClocksFreq(&RCC_Clocks);RCC_ClocksTypeDefstructuretypedefstruct{u32SYSCLK_Frequency;u32HCLK_Frequency;u32PCLK1_Frequency;u32PCLK2_Frequency;u32ADCCLK_Frequency;}RCC_ClocksTypeDef;SYSCLK_FrequencyHCLK_FrequencyPCLK1_FrequencyPCLK2_FrequencyADCCLK_Frequency21函數(shù)RCC_AHBPeriphClockCmdRCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA);RCC_AHBPeriph22函數(shù)RCC_APB2PeriphClockCmdRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_SPI1,ENABLE);RCC_APB2Periph23函數(shù)RCC_APB1PeriphClockCmdRCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP|RCC_APB1Periph_PWR,ENABLE);RCC_APB1Periph24函數(shù)RCC_APB2PeriphResetCmd/*EntertheSPI1peripheraltoreset*/RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,ENABLE);/*ExittheSPI1peripheralfromreset*/RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,DISABLE);25函數(shù)RCC_APB1PeriphResetCmd/*EntertheSPI2peripheraltoreset*/RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2,ENABLE);/*ExittheSPI2peripheralfromreset*/RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2,DISABLE);26函數(shù)RCC_BackupResetCmd/*ResettheentireBackupdomain*/RCC_BackupResetCmd(ENABLE);27函數(shù)RCC_ClockSecuritySystemCmd/*EnabletheClockSecuritySystem*/RCC_ClockSecuritySystemCmd(ENABLE);RCC_MCOConfig(RCC_MCO_PLLCLK_Div2);29函數(shù)RCC_GetFlagStat/*TestifthePLLclockisreadyFlagStatusStatus;Status=RCC_GetFlagStatus(RCC_FLAG_PLLRDY);if(Status==RESET){}給出了所有可以被函數(shù)RCC_GetFlRCC_ClearFlag();/*TestifthePLLReadyinterrupthasoccurredornot*/ITStatusStatus;Status=RCC_GetITStatus(RCC_IT_PLLRDY);if(Status==RESET){}{}給出了所有可以被函數(shù)RCC_GetIT32函數(shù)RCC_ClearITPendingBit/*ClearthePLLReadyinterruptpendingbit*/RCC_ClearITPendingBit(RCC_IT_PLLRDY);給出了所有可以被函數(shù)RCC_ClearITPendingBitNVIC寄存器結(jié)構(gòu)typedefstruct{vu32Enable[2];u32RESERVED0[30];vu32Disable[2];u32RSERVED1[30];vu32Set[2];u32RESERVED2[30];vu32Clear[2];u32RESERVED3[30];vu32Active[2];u32RESERVED4[62];vu32Priority[11];}NVIC_TypeDef;/*NVICStructure*/typedefstruct{vu32CPUID;vu32IRQControlState;vu32ExceptionTableOffset;vu32AIRC;vu32SysCtrl;vu32ConfigCtrl;vu32SystemPriority[3];vu32SysHandlerCtrl;vu32ConfigFaultStatus;vu32HardFaultStatus;vu32DebugFaultStatus;vu32MemoryManageFaultAddr;vu32BusFaultAddr;}SCB_TypeDef;/*SystemControlBlockStructure*/NVIC庫(kù)函數(shù)NVIC_DeInit();NVIC_SCBDeInit();3函數(shù)NVIC_PriorityGroupConfigNVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_PriorityGroup功能描述:根據(jù)NVIC_InitStruct中指定NVIC_InitStruct:指向結(jié)構(gòu)NVNVIC_InitTypeDefstructuretypedefstruct{u8NVIC_IRQChannel;u8NVIC_IRQChannelPreemptionPriority;u8NVIC_IRQChannelSubPriority;FunctionalStateNVIC_IRQChannelCmd;}NVIC_InitTypeDef;NVIC_InitTypeDefNVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_InitStructure(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;NVIC_InitStructure.NVIC_IRQChannelSubPriority=5;NVIC_InitStructure(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel=RTC_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelSubPriority=7;NVIC_InitStructure(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel=EXTI4_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelSubPriority=7;NVIC_InitStructure(&NVIC_InitStructure);NVIC_IRQChannelTIM1_BRK_IRQChannel:TIM1暫停中斷TIM1_UP_IRQChannel:TIM1刷新中斷TIM1_TRG_COM_IRQChannel:TIM1觸發(fā)和通TIM1_CC_IRQChannel:TIM1捕獲比較中斷TIM2_IRQChannel:TIM2全局TIM3_IRQChannel:TIM3全局TIM4_IRQChannel:TIM4全局NVIC_IRQ

溫馨提示

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

評(píng)論

0/150

提交評(píng)論