91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-29
  • 語言: 其他
  • 標簽: PWM??移相全橋??STM32??

資源簡介

利用STM32兩個定時器輸出4路PWM驅動全橋電路,兩路為一組互補PWM,兩組之間可以實現任意角度的移相,周期和占空比可任意調節

資源截圖

代碼片段和文件信息

/**
??******************************************************************************
??*?@file???:?PWMoutput.c
??*?@author?:?wind
??*?@version:
??*?@date???:
??*?@brief??:
??******************************************************************************
??*/
/*?---------------------------------------------------------------------------*/

#include?“PWMoutput.h“



/*********************************************
*?@fun????:
??*?@brief??:
??*?@note???:Default?duty?cycle?:?50%shift?phase?:0
??*?@param??:占空比*?1000?的整數
??*?@retval?:
********************************************
??*/
void?PWM_Init(uint32_t?frequint16_t?DutyC_1000uint16_t?shiftph)
{
uint16_t?pulw??period?;

period?=?72*1000000?/?freq;?//計時器時鐘為72MHz?時PWM?一個周期內的總計數次數
pulw?=?period?*?DutyC_1000?/1000?;??//?脈沖寬度的計數次數,=?總次數*?占空比
shiftph?+=?340*72/1000;

PWM_GPIO_Config();
PWM_TIM_Config(?pulw?periodshiftph);

}

void?PWM_GPIO_Config(void)
{
GPIO_InitTypeDef??GPIO_InitStruct;

RCC_AHBPeriphClockCmd((PWM1_PORT_CLK?|PWM2_PORT_CLK?|PWM3_PORT_CLK?|PWM4_PORT_CLK?)?ENABLE);
// RCC_AHBPeriphClockCmd(PWM_PORT_CLKENABLE);

//PWM?GPIO?Init
GPIO_InitStruct.GPIO_Mode?=?GPIO_Mode_AF;
GPIO_InitStruct.GPIO_OType?=?GPIO_OType_PP;
GPIO_InitStruct.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_PuPd?=?GPIO_PuPd_NOPULL;

/***********
GPIO_InitStruct.GPIO_Pin?=?PWM1_PIN?|PWM2_PIN?|PWM3_PIN?|PWM4_PIN?;
GPIO_Init(PWM_PORT?&GPIO_InitStruct);
***********/

GPIO_InitStruct.GPIO_Pin?=?PWM1_PIN;
GPIO_Init(PWM1_PORT?&GPIO_InitStruct);

GPIO_InitStruct.GPIO_Pin?=?PWM2_PIN;
GPIO_Init(PWM2_PORT?&GPIO_InitStruct);

GPIO_InitStruct.GPIO_Pin?=?PWM3_PIN;
GPIO_Init(PWM3_PORT?&GPIO_InitStruct);

GPIO_InitStruct.GPIO_Pin?=?PWM4_PIN;
GPIO_Init(PWM4_PORT?&GPIO_InitStruct);

GPIO_PinAFConfig(PWM1_PORT?PWM1_PIN_SPURCE?PWM1_PIN_AF);
GPIO_PinAFConfig(PWM2_PORT?PWM2_PIN_SPURCE?PWM2_PIN_AF);
GPIO_PinAFConfig(PWM3_PORT?PWM3_PIN_SPURCE?PWM3_PIN_AF);
GPIO_PinAFConfig(PWM4_PORT?PWM4_PIN_SPURCE?PWM4_PIN_AF);

}




/*********************************************
*?@fun????:
??*?@brief??:
??*?@note???:
??*?@param??:脈寬和整個周期的計數次數
??*?@retval?:
********************************************
??*/
/****************************************
//暫時設計一個周期內計數次數nT次,輸入第一個參數為占空比x?1000
//為脈寬計數次數
********************************************/
void?PWM_TIM_Config(uint16_t?pulse??uint16_t?Perioduint16_t?shiftph)
{


TIM_TimebaseInitTypeDef??TIM_TimebaseInitStruct;
TIM_OCInitTypeDef??TIM_OCInitStruct;
TIM_BDTRInitTypeDef?TIM_BDTRInitStruct;

//Open?the??clock?
RCC_APB2PeriphClockCmd(PWM1_TIM_CLK?|PWM2_TIM_CLK?|PWM3_TIM_CLK?|PWM4_TIM_CLK?ENABLE);

//TimebaseInit
TIM_TimebaseInitStruct.TIM_Prescaler?=?0;
TIM_TimebaseInitStruct.TIM_CounterMode?=?TIM_CounterMode_Up;
TIM_TimebaseInitStruct.TIM_Period?=?Period?-?1;
TIM_TimebaseInitStruct.TIM_ClockDivision?=?TIM_CKD_DIV1?;
TIM_TimebaseInitStruct.TIM_Re

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5397??2015-04-03?15:51??任意角度移相全橋PWM\PWMoutput.c

?????文件???????2383??2015-04-03?13:59??任意角度移相全橋PWM\PWMoutput.h

?????目錄??????????0??2015-04-03?15:55??任意角度移相全橋PWM

-----------?---------??----------?-----??----

?????????????????7780????????????????????3


評論

共有 條評論