TIM_SetCounter(TIM2,0); Capture_State|=0X40;//标记捕获到了上升沿0100 0000 TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Falling); //CC1P=1 设置为下降沿捕获 } } } TIM_ClearITPendingBit(TIM2, TIM_IT_CC1|TIM_IT_Update); //清除中断标志位 } 下面解释一下中断服务函数的过程: 首先设置两个变量...
TIM_SetCounter(TIM2,0); TIM2CH1_CAPTURE_STA|=0X40; //标记捕获到了上升沿 TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Falling); //设置为下降沿捕获 1. 2. 3. 4. 5. 以上操作完成之后,本次中断函数执行结束,然后CNT就会一直自增记录脉冲时间,这里我已经假设过了,这个脉冲的时间会导致CNT溢出,溢出的...
void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter) - 用于设置定时器的计数器值 void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload) - 用于设置自动重装载值 void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2) - 用于设置定时器的比较寄存器2的值 void TIM_SetIC1Pres...
1.46、void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter) 功能:设置TIMx计数器寄存器值。 输入:TIMx:其中x可以是1到4来选择TIM外围设备;Counter:指定计数器寄存器的新值。 1.47、void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload) 功能:设置TIMx自动重新加载寄存器值。 输入:TIMx:其...
TIM_SetCounter(TIM2,0); Capture_State|=0X40;//标记捕获到了上升沿0100 0000 TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Falling); //CC1P=1 设置为下降沿捕获 } } } TIM_ClearITPendingBit(TIM2, TIM_IT_CC1|TIM_IT_Update); //清除中断标志位 ...
Counter Register(CNT):#define__HAL_TIM_SET_COUNTER(HANDLE, COUNTER) ((HANDLE)->Instance->CNT = (COUNTER))#define__HAL_TIM_GET_COUNTER(HANDLE) ((HANDLE)->Instance->CNT)Autoreload Register(ARR):#define__HAL_TIM_SET_AUTORELOAD(HANDLE, AUTORELOAD)do{ ...
__HAL_TIM_SET_COUNTER(&htim2,differ); while(differ<50000) { differ=__HAL_TIM_GET_COUNTER(&htim2); } HAL_TIM_Base_Stop(&htim2); } 2.注意程序工程中DS18B20.H的定义,及DS18B20.C文件,(同文件夹下附件)其内部函数定义根据DS18B20官方手册进行操作,DS18B20为one wire 通讯,对时序的要求相对严格...
TIM_SetCounter设置TIMx计数器寄存器值 TIM_SetAutoreload设置TIMx自动重装载寄存器值 TIM_SetCompare1设置TIMx捕获比较1寄存器值 TIM_SetCompare2设置TIMx捕获比较2寄存器值 TIM_SetCompare3设置TIMx捕获比较3寄存器值 TIM_SetCompare4设置TIMx捕获比较4寄存器值 TIM_SetIC1Prescaler设置TIMx输入捕获1预分频 TIM_SetIC2...
//TIM_SetCounter(TIM2,0x0000); } } /* Time base configuration */ TIM_TimeBaseStructure.TIM_Period = 65535; TIM_TimeBaseStructure.TIM_Prescaler =200; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, &TIM_Time...
void Tim_CCR_Set(u8 TIM_x,u8 CCR_x,u32 val); 库函数操作 通用定时器有4个通道,每个通道都有6种工作模式: TIM_OCMODE定义 PS:至于有效电平是高还是低,要看CCER寄存器的CCxP位设置。两种PWM模式,区别在于通道的电平极性是相反的。 main.c