您的位置:首页 > 其它

文章标题

2017-03-29 13:58 169 查看
pwm输出使用心得:

pwm频率以及占空比配置

void TIM5_CH1_Init(u16 Duty,u16 Frequency)
{
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
TIM_OCInitTypeDef  TIM_OCInitStructure;
/* Time base configuration */
TIM_TimeBaseStructure.TIM_Period =1000;
TIM_TimeBaseStructure.TIM_Prescaler =7199;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);
// TIM_PrescalerConfig(TIM5,7199,TIM_PSCReloadMode_Immediate);
/* PWM1 Mode configuration: Channel */
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse =500;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC1Init(TIM5, &TIM_OCInitStructure);
TIM_OC1PreloadConfig(TIM5, TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM5, ENABLE);
TIM_Cmd(TIM5, ENABLE);
}


本例中TIM5单次计数的时间:

t=7200/72000 000us=100us

因此产生中断的时间:

t=100us*1000=0.1s

f=10Hz

占空比=500/1000=50%

最大计数值为 65535

向上计数,达到最大值,重归0计数。

本人也是刚开始写博客,有错误请指出,或者留言讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: