久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32F1互補PWM

[復制鏈接]
ID:195946 發(fā)表于 2017-8-3 21:34 | 顯示全部樓層 |閱讀模式
void PWM_GPIO_Config(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);//使能GPIO時鐘
    //正極性輸出引腳PA.8-->TIM1_CH1,PA.9-->TIM1_CH2,PA.10-->TIM1_CH2
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;    //PA8 PA11
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;        //復用推挽輸出
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;   
    GPIO_Init(GPIOA,&GPIO_InitStructure);                //使能GPIOA
    //反極性輸出引腳PB.13-->TIM1_CH1N,PB.14-->TIM1_CH2N,PB.15-->TIM1_CH3N
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;    //PA8 PA11
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;        //復用推挽輸出
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;   
    GPIO_Init(GPIOB,&GPIO_InitStructure);                //使能GPIOB
}
/***************************************************************
*    Function     :    TIMx_PWM_Init
*    Description :    PWM初始化
*    Input           :    None
*    Output        :    None
*    Return        :    None
*   Declaration  :   定時器的初始化
****************************************************************/
void PWM_TIMx_Init(uint16_t arr,uint16_t psc)
{
    TIM_OCInitTypeDef TIM_OCInitStructure;
    TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
    TIM_DeInit(TIM1);                                                                                            //定時器1復位
    /*定時器1初始化*/
    TIM_TimeBaseStructure.TIM_Period=arr;                                                  //自動重裝載值
    TIM_TimeBaseStructure.TIM_Prescaler=psc;                                             //預分頻系數(shù)
    TIM_TimeBaseStructure.TIM_ClockDivision=0X00;                                     //設置時鐘分割TDTS==tck_Tim
    TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;            //向上計數(shù)模式
    TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
    TIM_ARRPreloadConfig(TIM1,DISABLE);                                                        //禁止ARR預裝緩沖器
    /*雙路互補PWM初始化*/
    TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;                                //TIM_OCMode_PWM1
    TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;         //正極性輸出使能
    TIM_OCInitStructure.TIM_OutputNState=TIM_OutputNState_Enable;    //互補極性輸出使能
    TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;                //PWM輸出極性
    TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCPolarity_High;              //PWM互補極性
    TIM_OCInitStructure.TIM_Pulse=450;                                                     //占空比
    TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Set;              //死區(qū)后輸出狀態(tài)
    TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCIdleState_Reset;        //死區(qū)后互補極性輸出狀態(tài)
    //初始化3路正極性PWM:PA.8,PA.9,PA.10
    TIM_OC1Init(TIM1,&TIM_OCInitStructure);
    TIM_OCInitStructure.TIM_Pulse=350;
    TIM_OC2Init(TIM1,&TIM_OCInitStructure);
    TIM_OCInitStructure.TIM_Pulse=250;
    TIM_OC3Init(TIM1,&TIM_OCInitStructure);
    //配置3路正極性PWM
    //TIM_OC1PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道1預裝載使能
    //TIM_OC2PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道2預裝載使能
    //TIM_OC3PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道3預裝載使能
   
    //死區(qū)和剎車配置功能僅僅對TIM1和TIM8高級定時器有效
    TIM_BDTRInitStructure.TIM_OSSIState=TIM_OSSIState_Enable;                //空閑模式下的輸出使能
    TIM_BDTRInitStructure.TIM_OSSRState=TIM_OSSRState_Enable;                //運行模式下的輸出使能
    TIM_BDTRInitStructure.TIM_LOCKLevel=TIM_LOCKLevel_OFF;                    //鎖定設置
    TIM_BDTRInitStructure.TIM_DeadTime=0X00;                                                //設置死區(qū)時間2us
    TIM_BDTRInitStructure.TIM_Break=TIM_Break_Disable;                            //剎車功能關閉
    TIM_BDTRInitStructure.TIM_BreakPolarity=TIM_BreakPolarity_Low;    //剎車輸入極性
    TIM_BDTRInitStructure.TIM_AutomaticOutput=TIM_AutomaticOutput_Disable;//關閉自動輸出使能
    TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);
    //高級定時器的輸出控制使能剎車MOE主輸出使能
    TIM_CtrlPWMOutputs(TIM1,ENABLE);        
    TIM_ARRPreloadConfig(TIM1,ENABLE);   
    //定時器使能   
    TIM_Cmd(TIM1,ENABLE);            
}
STM32F103C8T6 IOPA.8 PA.9 PA.10 PB.13 PB.14 PB.15
注釋這三句后:波形
         //TIM_OC1PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道1預裝載使能
         //TIM_OC2PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道2預裝載使能
         //TIM_OC3PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道3預裝載使能
未注釋的波形:
         TIM_OC1PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道1預裝載使能
         TIM_OC2PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道2預裝載使能
         TIM_OC3PolarityConfig(TIM1,TIM_OCPreload_Enable);//PWM通道3預裝載使能

未注釋的仿真波形
1.png

注釋后仿真波形
2.png
回復

使用道具 舉報

ID:493103 發(fā)表于 2019-3-18 12:22 | 顯示全部樓層
請教樓主,這個仿真是怎么弄得,有的啥軟件?謝謝
回復

使用道具 舉報

ID:410139 發(fā)表于 2019-3-28 21:23 | 顯示全部樓層
保存了,不久就可以用上,謝謝樓主
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费成人结看片 | 天天草天天射 | 欧美视频二区 | www.夜夜 | www.日韩在线| 精品一区二区三区免费 | 欧美日韩国产精品 | 超碰免费在线观看 | 日韩中文字幕一区二区三区 | 一级做a爱片性色毛片 | aaa国产精品 | 国产一级免费 | 国产高清视频在线播放 | 日韩欧美在线观看视频 | 亚洲精品999 | 日本久久网站 | 欧美理论片在线观看 | 国产在线第一页 | 国产精品偷乱一区二区三区 | 国产一区二区三区免费视频 | 久久精品欧美一区二区 | 欧美国产日韩一区二区 | 中文天堂在线观看 | 中国av在线| 黄色成人免费网站 | 欧美黄色一级视频 | 黄色91网站 | аⅴ资源新版在线天堂 | 视色网 | 成人免费毛片嘿嘿连载视频 | 欧美一区二区三区在线观看视频 | 亚洲一区二区三区在线 | 色婷婷狠狠 | 中文字幕第8页 | 中文字幕在线一区二区三区 | 国产欧美日韩一区 | 免费在线小视频 | 日韩视频免费在线观看 | 欧美激情精品 | 成年人国产 | 日韩精品一区二区在线 |