新手上路
- 积分
- 44
- 金钱
- 44
- 注册时间
- 2020-3-22
- 在线时间
- 4 小时
|
void TIM3_Init(uint16_t psc,uint16_t arr)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); //ê1ÄüTIM3ê±Öó
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE); //ê1Äüê±Öó
GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE); //TIM3¶Ë¿ú2¿·ÖÖØó3éä
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; //¸′óÃíÆíìêä3ö
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //¶¨ê±Æ÷ÏòéϼÆêy
TIM_TimeBaseInitStructure.TIM_Period=arr; //×Ô¶ˉ×°ÔØÖμ
TIM_TimeBaseInitStructure.TIM_Prescaler=psc; //¶¨ê±Æ÷Ô¤·ÖÆμÏμêy
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2; //PWMÄ£ê½2
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OC2Init(TIM3,&TIM_OCInitStructure);
//TIM_ARRPreloadConfig(TIM3,ENABLE);
TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable); //ê1ÄüÔ¤×°ÔØ¼Ä′æÆ÷
TIM_Cmd(TIM3,ENABLE); //ê1Äü¶¨ê±Æ÷3
}
int main(void)
{
uint16_t pwmval=0;
uint16_t dir=1;
TIM3_Init(0,899); //ÆμÂê£o72MHz/899+1 2»·ÖÆμ èç1û·ÖÆμÏμêyÎa1 ê±Öó×üÏßéÏμÄê±ÖóÎa36MHz
while(1)
{
delayms(100);
if(dir==1)
{
pwmval++;
}
else
{
pwmval--;
}
if(pwmval>500)
{
dir=0;
}
if(pwmval==0)
{
dir=1;
}
TIM_SetCompare2(TIM3,pwmval);
}
}
下载后灯常亮 看不出变化 用的是stm32f103vet6
|
|