找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2701|回復(fù): 3
收起左側(cè)

STM32F030產(chǎn)生PWM問(wèn)題

[復(fù)制鏈接]
ID:869076 發(fā)表于 2020-12-27 22:54 | 顯示全部樓層 |閱讀模式
求大神幫我看下    一直不能產(chǎn)生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);
       
}



這個(gè)程序B.13口輸出高電平,庫(kù)函數(shù)里注釋的TIM1復(fù)用應(yīng)該是AF0或者AF2,改了的話就是低電平,始終沒(méi)有PWM產(chǎn)生,搞不懂了
回復(fù)

使用道具 舉報(bào)

ID:869076 發(fā)表于 2020-12-27 22:59 | 顯示全部樓層
自己頂自己 請(qǐng)大神幫忙看下哪里的問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:592807 發(fā)表于 2020-12-28 10:26 | 顯示全部樓層
51hei截圖20201228102201.png 51hei截圖20201228102249.png 你說(shuō)錯(cuò)哪了?你復(fù)用都沒(méi)復(fù)用對(duì)。TIM1的復(fù)用是AF2,你使用了AF1復(fù)用成其他功能,怎么輸出PWM

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:869076 發(fā)表于 2020-12-28 11:23 | 顯示全部樓層
跑SW調(diào)試 程序到 GPIO_Init(GPIOB,&GPIO_InitStructure); 之后端口輸出高電平
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表