求STM32的PWM控制直流电机

 我来答
xc1901016
推荐于2018-04-01 · TA获得超过149个赞
知道答主
回答量:211
采纳率:0%
帮助的人:71.8万
展开全部
void pwm_ARRPreloadConfig(void)
{

PrescalerValue = (uint16_t) (SystemCoreClock /TIM2_rate) - 1; //设定的是定时器的频率,要设定pwm的频率为50hz要乘以对
//应的arr值
TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; //TIM_Prescaler 设置了用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_Period = PWM_ARR; //设置了在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); //pwm3已经调好可以用 PB0
TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable); //pwm4已经调好可以用 PB1
TIM_ARRPreloadConfig(TIM2, ENABLE);

TIM_Cmd(TIM2, ENABLE);
}
来自:求助得到的回答
华恩虢清雅
2019-08-30 · TA获得超过3808个赞
知道大有可为答主
回答量:3178
采纳率:31%
帮助的人:180万
展开全部
哈哈,改暂空比呗,pwm配置中都有的,我之前是用系统滴答定时器不断改变pwm初值,然后调用函数重新配置pwm。既然搞定了,分就给我吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huzi2099
2012-12-26 · TA获得超过1172个赞
知道小有建树答主
回答量:1887
采纳率:82%
帮助的人:635万
展开全部
加个开关电路就行了,如果要正反转加个H桥,简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亲亲爱爱宿舍
2012-12-26
知道答主
回答量:34
采纳率:0%
帮助的人:19.8万
展开全部
STM32是什么意思??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式