新手上路
- 积分
- 43
- 金钱
- 43
- 注册时间
- 2017-7-14
- 在线时间
- 12 小时
|

楼主 |
发表于 2018-8-4 17:22:45
|
显示全部楼层
40KHz的定时器
void TIM3_Configuration(void)
{
int CCR1_Val=25;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStruct;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);
//定时器初始化
TIM_TimeBaseStruct.TIM_Period=49;//初值
TIM_TimeBaseStruct.TIM_Prescaler=35;//预分频 ((1+TIM_Prescaler )/时钟)*(1+TIM_Period )
TIM_TimeBaseStruct.TIM_ClockDivision=0;
TIM_TimeBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStruct);
//pwm 初始化
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = CCR1_Val; //设置跳变值,当计数器计数到这个值时,电平发生跳变
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //当定时器计数值小于CCR1_Val时为高电平
TIM_OC2Init(TIM3,&TIM_OCInitStructure);
TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM3,ENABLE);
} |
|