TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;//配置通道1的滤波器TIM_ICInitStructure.TIM_ICFilter =6;//比较滤波器TIM_ICInit(TIM3, &TIM_ICInitStructure); TIM_ICInitStructure.TIM_Channel = TIM_Channel_2;//配置通道2的滤波器TIM_ICInitStructure.TIM_ICFilter =6;//比较滤波器TIM_ICInit(TIM...
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能TIM3时钟TIM_TimeBaseInitStructure.TIM_Period = Period;//自动重装载值TIM_TimeBaseInitStructure.TIM_Prescaler=Prescale;//定时器分频TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数模式TIM_TimeBaseInitStructure.TIM_Cl...
TIM_ICInitStructure.TIM_ICFilter = 0xF; //输入滤波器参数,可以过滤信号抖动 TIM_ICInit(TIM3, &TIM_ICInitStructure); //将结构体变量交给TIM_ICInit,配置TIM3的输入捕获通道 TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; //选择配置定时器通道2 TIM_ICInitStructure.TIM_ICFilter = 0xF; //输入...
TIM_ICInitStructure.TIM_ICFilter = 0x03;//IC4F=0011 配置输入滤波器 8个定时器时钟周期滤波 TIM_ICInit(TIM5, &TIM_ICInitStructure);//初始化定时器输入捕获通道 TIM_Cmd(TIM5,ENABLE ); //使能定时器5 NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn; //TIM5中断 NVIC_InitStructure.NVIC_IRQChannel...
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; // 所选pin脚的速度 GPIO_Init(GPIOA, &GPIO_InitStruct); } EXTI 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。
typedef struct { float Current_H1_H2_Phase_Diff;//H1和H2的相位差的当前测量值 float Lower...
32.3.4 定时器输入捕获结构体TIM_IC_InitTypeDef 此结构体主要用于定时器的输入捕获,定义如下: typedefstruct{ uint32_t ICPolarity; uint32_t ICSelection; uint32_t ICPrescaler; uint32_t ICFilter; } TIM_IC_InitTypeDef; 下面将这几个参数一 一做个说明。
void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructure={0};RCC_PB2PeriphClockCmd(RCC_PB2...
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz; GPIO_Init(GPIOX, &GPIO_InitStruct); 第二步,配置时基单元,让CNT计数器在内部时钟的驱动下自增运算 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIMX,ENABLE);TIM_InternalClockConfig(TIMX);//上面两行代码使用时不会导致重复,因为它们的作用是不同的。RCC_APB...
这里我们需要设置通道 1为输入模式,且 IC1 映射到 TI1(通道 1)上面,并且不使用滤波(提高响应速度)器,上升沿捕获。库函数是通过 IM_ICInit 函数来初始化输入比较参数的: void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct); typedef struct { uint16_t TIM_Channel;//我们设置为...