資源簡介
使用STM32的內部定時器和DMA來產生一路或兩路互補的SPWM波

代碼片段和文件信息
#include?“stm32f10x.h“
#define?TIM1_CCR3_Address????0x40012C3C
#define?MAX_TABLE?180
TIM_TimebaseInitTypeDef??TIM_TimebaseStructure;
TIM_OCInitTypeDef??TIM_OCInitStructure;
uint16_t?SRC_Buffer[MAX_TABLE]?=?{
1000103310661099113211651198123012621294132513561386141614461475
1503153115581585161116361660168317061728174917691788180618231839
1854186818811893190419131922192919361941194519481949195019491948
1945194119361929192219131904189318811868185418391823180617881769
1749172817061683166016361611158515581531150314751446141613861356
13251294126212301198116511321099106610331000?967?934?901?868?835
?802?770?738?706?675?644?614?584?554?525?497?469?442?415?389?364
?340?317?294?272?251?231?212?194?177?161?146?132?119?107??96??87
??78??71??64??59??55??52??51??50??51??52??55??59??64??71??78??87
??96?107?119?132?146?161?177?194?212?231?251?272?294?317?340?364
?389?415?442?469?497?525?554?584?614?644?675?706?738?770?802?835
?868?901?934?967
};
ErrorStatus?HSEStartUpStatus;
/*?Private?function?prototypes?-----------------------------------------------*/
void?RCC_Configuration(void);
void?GPIO_Configuration(void);
void?DMA_Configuration(void);
int?main(void)
{
??RCC_Configuration();
??GPIO_Configuration();
??DMA_Configuration();
??/*?TIM1?Peripheral?Configuration?--------------------------------------------*/
??/*?Time?base?configuration?*/
??TIM_TimebaseStructure.TIM_Prescaler?=?0;
??TIM_TimebaseStructure.TIM_CounterMode?=?TIM_CounterMode_Up;
??TIM_TimebaseStructure.TIM_Period?=?2000-1;//72M/x=frq?R*C=0.025?R=100Kc=100000p=0.1uf=0.0000001f
??TIM_TimebaseStructure.TIM_ClockDivision?=?0;
??TIM_TimebaseStructure.TIM_RepetitionCounter?=?2;
??TIM_TimebaseInit(TIM1?&TIM_TimebaseStructure);
??/*?Channel?3?Configuration?in?PWM?mode?*/
??TIM_OCInitStructure.TIM_OCMode?=?TIM_OCMode_PWM2;
??TIM_OCInitStructure.TIM_OutputState?=?TIM_OutputState_Enable;
??TIM_OCInitStructure.TIM_OutputNState?=?TIM_OutputNState_Enable;
??TIM_OCInitStructure.TIM_Pulse?=?50;
??TIM_OCInitStructure.TIM_OCPolarity?=?TIM_OCPolarity_Low;
??TIM_OCInitStructure.TIM_OCNPolarity?=?TIM_OCNPolarity_Low;
??TIM_OCInitStructure.TIM_OCIdleState?=?TIM_OCIdleState_Set;
??TIM_OCInitStructure.TIM_OCNIdleState?=?TIM_OCIdleState_Reset;
??TIM_OC3Init(TIM1?&TIM_OCInitStructure);
??/*?TIM1?Update?DMA?Request?enable?*/
??TIM_DMACmd(TIM1?TIM_DMA_Update?ENABLE);
??/*?TIM1?counter?enable?*/
??TIM_Cmd(TIM1?ENABLE);
??/*?Main?Output?Enable?*/
??TIM_CtrlPWMOutputs(TIM1?ENABLE);
??while?(1)
??{}
}
void?RCC_Configuration(void)
{
??SystemInit();
??/*?TIM1?GPIOA?and?GPIOB?clock?enable?*/
??RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1?|?RCC_APB2Periph_GPIOA?|
?????????????????????????RCC_APB2Periph_GPIOB?ENABLE);
??/*?DMA?clock?enable?*/
??RCC_AHBPeriphClock
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4478??2013-07-22?18:58??User\main.c
?????文件???????3259??2011-04-04?19:03??User\stm32f10x_conf.h
?????文件???????4405??2011-04-04?19:03??User\stm32f10x_it.c
?????文件???????2086??2011-04-04?19:03??User\stm32f10x_it.h
?????文件??????36557??2011-04-04?19:03??User\system_stm32f10x.c
?????目錄??????????0??2013-07-06?16:05??User\MyCHFile
?????目錄??????????0??2013-07-22?18:58??User
-----------?---------??----------?-----??----
????????????????50785????????????????????7
- 上一篇:STM32F103測頻率
- 下一篇:robotfr
amework 漢化報告結果文件
評論
共有 條評論