文章标题
2017-03-29 13:58
169 查看
pwm输出使用心得:
pwm频率以及占空比配置
本例中TIM5单次计数的时间:
t=7200/72000 000us=100us
因此产生中断的时间:
t=100us*1000=0.1s
f=10Hz
占空比=500/1000=50%
最大计数值为 65535
向上计数,达到最大值,重归0计数。
本人也是刚开始写博客,有错误请指出,或者留言讨论。
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计数。
本人也是刚开始写博客,有错误请指出,或者留言讨论。