[mw_shl_code=c,true]void TIM2_PWM_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<0; //TIM2时钟使能
RCC->APB2ENR|=1<<3; //使能PORTB时钟
GPIOB->CRH&=0XFFFFF0FF; //PB10输出
GPIOB->CRH|=0X00000B00; //复用功能输出
RCC->APB2ENR|=1<<0; //开启辅助时钟
AFIO->MAPR&=0XFFFFFCFF; //清除MAPR的[9:8]
AFIO->MAPR|=3<<8; //重映像,TIM2_CH3->  B10
TIM2->ARR=arr; //设定计数器自动重装值
TIM2->  SC=psc; //预分频器不分频
TIM2->CCMR2|=7<<4; //CH3 PWM3模式 这里低八位设置的是CH3
TIM2->CCMR2|=1<<3; //CH3预装载使能 这里低八位设置的是CH3
TIM2->CCER|=1<<8; //OC3 输出使能
TIM2->CR1=0x0080; //ARPE使能 这里应该是CR1
TIM2->CR1|=0x01; //使能定时器2 这里应该是CR1
} [/mw_shl_code]
代码我测试过,没问题。记得在头文件中申明一下
[mw_shl_code=c,true]#define LED0_PWM_VAL TIM2->CCR3[/mw_shl_code]
建议多看看stm32参考手册!
|