打印
[STM32F1]

TIM3 输出两路PWM PBO和PB1

[复制链接]
1206|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wang719|  楼主 | 2014-7-22 19:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PWM, TI, ni, pi, IO
void TIM3_PWM_Init(u16 val_1,u16 val_2)            //¶¨Ê±Æ÷3  Êä³öPWM
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
        TIM_OCInitTypeDef TIM_OCInitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
       
        GPIO_PinRemapConfig(GPIO_FullRemap_TIM3, ENABLE);
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; //TIM_CH1
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //??????
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
       
        TIM_DeInit(TIM3);
        TIM_TimeBaseInitStructure.TIM_Period = 20000;                       // ???????
        TIM_TimeBaseInitStructure.TIM_Prescaler =71 ;
        TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
        TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);       


       
        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCNPolarity_Low;
        TIM_OCInitStructure.TIM_Pulse = val_1;
        TIM_OCInitStructure.TIM_OutputNState = ENABLE;
        TIM_OC3Init(TIM3,&TIM_OCInitStructure);
        TIM_OC3PreloadConfig(TIM3,TIM_OCPreload_Enable);
       
        TIM_OCInitStructure.TIM_Pulse = val_2;       
        TIM_OC4Init(TIM3,&TIM_OCInitStructure);
        TIM_OC4PreloadConfig(TIM3,TIM_OCPreload_Enable);
       
        TIM_CtrlPWMOutputs(TIM3,ENABLE);
       
        TIM_ARRPreloadConfig(TIM3,ENABLE);
        TIM_Cmd(TIM3,ENABLE);
}
沙发
wang719|  楼主 | 2014-7-22 19:20 | 只看该作者
为啥相应的管脚输出的信号非常的怪异  频率也相差很大

使用特权

评论回复
板凳
mmuuss586| | 2014-7-22 20:22 | 只看该作者
wang719 发表于 2014-7-22 19:20
为啥相应的管脚输出的信号非常的怪异  频率也相差很大

:)
正常的话,频率应该一样的,占空比不一定一样;
波形怪异,发个图片上来看看;

使用特权

评论回复
地板
mmuuss586| | 2014-7-22 20:24 | 只看该作者
我发的基于定时器1的参考程序,你可以看看;
定时器3你参考例程试下看看;
https://bbs.21ic.com/icview-769928-1-1.html

使用特权

评论回复
5
airwill| | 2014-7-23 10:07 | 只看该作者
我估计不是定时器的问题, 而是因为频繁修改 CCR 寄存器导致的.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝