找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2678|回复: 3
收起左侧

STM32F030产生PWM问题

[复制链接]
ID:869076 发表于 2020-12-27 22:54 | 显示全部楼层 |阅读模式
求大神帮我看下    一直不能产生PWM波形,芯片是STM32F030C8T6,PWM_PER=1024,PWM_PSC=512.

程序如下:
void PWM_init()
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
        TIM_OCInitTypeDef TIM_OCInitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
       
        GPIO_PinAFConfig(GPIOB,GPIO_PinSource13,GPIO_AF_1);//GPIO_AF_0  GPIO_AF_2
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_Level_1;
        GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
        GPIO_Init(GPIOB,&GPIO_InitStructure);
       
        TIM_DeInit(TIM1);
        TIM_TimeBaseInitStructure.TIM_Period=PWM_PER;   
        TIM_TimeBaseInitStructure.TIM_Prescaler=PWM_PSC;
        TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
        TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
        TIM_TimeBaseInitStructure.TIM_RepetitionCounter=0;
        TIM_TimeBaseInit(TIM1,&TIM_TimeBaseInitStructure);
        TIM_PrescalerConfig(TIM1,0,TIM_PSCReloadMode_Immediate);       
        TIM_ARRPreloadConfig(TIM1, ENABLE);
       
        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
        TIM_OC1Init(TIM1,&TIM_OCInitStructure);
       
        TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);
        TIM_ARRPreloadConfig(TIM1,ENABLE);  
       
        TIM_CtrlPWMOutputs(TIM1, ENABLE);
        TIM_Cmd(TIM1,ENABLE);
       
}



这个程序B.13口输出高电平,库函数里注释的TIM1复用应该是AF0或者AF2,改了的话就是低电平,始终没有PWM产生,搞不懂了
回复

使用道具 举报

ID:869076 发表于 2020-12-27 22:59 | 显示全部楼层
自己顶自己 请大神帮忙看下哪里的问题
回复

使用道具 举报

ID:592807 发表于 2020-12-28 10:26 | 显示全部楼层
51hei截图20201228102201.png 51hei截图20201228102249.png 你说错哪了?你复用都没复用对。TIM1的复用是AF2,你使用了AF1复用成其他功能,怎么输出PWM

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:869076 发表于 2020-12-28 11:23 | 显示全部楼层
跑SW调试 程序到 GPIO_Init(GPIOB,&GPIO_InitStructure); 之后端口输出高电平
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表