按顺序来,首先是 TIM_DeInit 恢复默认配置,需要的话就用一下,刚复位应该不用。 然后第一步开启时钟,如果是通用定时器那是挂在 APB1 上的,所以直接 RCC_APB1PeriphClockCmd。以通用定时器 TIM2 为例: RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); 第二步选择时钟源,有多个函数,对应都可见上框图:...
void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource); 选择TIx捕获通道的时钟(一:选择定时器 二:选择TIx具体的某个引脚 三,四:输入的级性和滤波器) void TIM_TIxExternalClockConfig(TIM_TypeDef* TIx, uint16_t TIM_TIxExternalCLKSource, uint16_t TIM_ICPolarity, uint...
1.20、void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter) 功能:配置外部时钟模式1。 输入:TIMx:其中x可以是1到4来选择TIM外围设备;TIM_ExtTRGPrescaler:外部触发预分频器;TIM_ExtTRGPolarity:外部触发极性;ExtTRGFilter:外...
2 RCC的配置如下面的代码显示void RCC_Configuration(void){ SystemInit(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);}此段代码初始化时钟,有GPIOA AFIO复用功能 TIM2 3 GPIO的配置如下:void GPIO_Configuratio...
TIM_ETRClockMode2Config(TIM2,TIM_ExtTRGPSC_OFF,TIM_ExtTRGPolarity_NonInverted,0x00); //3.配置时基单元 //声明一个时基时钟的实参 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; //配置分频,滤波时选择的频率 TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; ...
GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /** * 使用外部时钟模式2:不分频、极性不翻转、触发滤波器值最大0X0F */ TIM_ETRClockMode2Config(TIM2, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0X0F); /** * 时基单元初始化: * CK_INT不分频、向上计数...
(GPIOA,&GPIO_InitStructure);//配置TIM2为外部时钟模式2TIM_ETRClockMode2Config(TIM2,TIM_ExtTRGPSC_OFF,TIM_ExtTRGPolarity_NonInverted,0x0F);//时钟结构体初始化TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1; //表示不分频TIM_TimeBaseInit...
*/// 选择ETR通过外部时钟模式1输入的时钟voidTIM_ETRClockMode1Config(TIM_TypeDef* TIMx,uint16_tTIM_ExtTRGPrescaler,uint16_tTIM_ExtTRGPolarity,uint16_tExtTRGFilter);// 选择ETR通过外部时钟模式2输入的时钟voidTIM_ETRClockMode2Config(TIM_TypeDef* TIMx,uint16_tTIM_ExtTRGPrescaler,uint16_tTIM_Ext...
(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter); void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter); /* Synchronization management ***/ void TIM_Se...
g_tim10_handle->Init.CntTimSel = BASETIM_TIMER_SELECT; // CKD 时钟分频因子(Clock division) g_tim10_handle->Init.MaxCntLevel = BASETIM_MAXCNTLEVEL_16BIT; // TimerSize=0:max count value=0xFFFF; g_tim10_handle->Init.AutoReload = BASETIM_AUTORELOAD_ENABLE; // 模式2自动重装载计数器/...