找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stm32f407 今天學(xué)習(xí)了正點(diǎn)原子程序 輸出PWM波 控制伺服電機(jī)或者步進(jìn)電機(jī)

[復(fù)制鏈接]
ID:669207 發(fā)表于 2019-12-20 15:29 | 顯示全部樓層 |閱讀模式
配置pwm 的程序
void TIM4_PWM_Init(u32 arr,u32 psc)
{                                                         
        //此部分需手動修改IO口設(shè)置
        
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_OCInitTypeDef  TIM_OCInitStructure;
        
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);          //TIM4時鐘使能   
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);         //使能PORTB 時鐘        
        
        GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_TIM4); //GPIOB6復(fù)用為定時器4
        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;           //GPIOB6
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;        //復(fù)用功能
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;        //速度100MHz
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;      //推挽復(fù)用輸出
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;        //上拉
        GPIO_Init(GPIOB,&GPIO_InitStructure);              //初始化PB6
         
        TIM_TimeBaseStructure.TIM_Prescaler=psc;  //定時器分頻
        TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上計數(shù)模式
        TIM_TimeBaseStructure.TIM_Period=arr;   //自動重裝載值
        TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
        
        TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure);//初始化定時器4
        
        //初始化TIM4 Channel1 PWM模式         
        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //選擇定時器模式:TIM脈沖寬度調(diào)制模式2
         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //輸出極性:TIM輸出比較極性低
        TIM_OC1Init(TIM4, &TIM_OCInitStructure);  //根據(jù)T指定的參數(shù)初始化外設(shè)TIM4OC1

        TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);  //使能TIM4在CCR1上的預(yù)裝載寄存器

  TIM_ARRPreloadConfig(TIM4,ENABLE);//ARPE使能
        
        TIM_Cmd(TIM4, ENABLE);  //使能TIM4

                                                                                 
}  


初學(xué)者   還望各位大神指教

PWM.7z

299.02 KB, 下載次數(shù): 72, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:472325 發(fā)表于 2019-12-20 21:46 | 顯示全部樓層
這個可以用仿真來操作,介意用仿真調(diào)一調(diào)看效果
回復(fù)

使用道具 舉報

ID:696834 發(fā)表于 2020-3-6 16:31 | 顯示全部樓層
不錯,值得借鑒。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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