我用的开发环境是KEIL,PWM波硬件接的是PE14,定时器1的4通道。
我原来参考正点原子库函数版本写的程序PWM波出不来。
转而参考寄存器版的程序,试着改了一下,还是不行。
晶振25M.
贴出代码,请大神指点,谢谢!
//TIM1 PWM部分初始化
//arr自动重装值
//psc时钟预分频数
void TIM1_PWM_Init(u32 arr,u32 psc)
{
RCC->APB2ENR|=1<<0; //TIM1时钟使能
RCC->AHB1ENR|=1<<4; //使能PORTE时钟
GPIO_Set(GPIOE,PIN14,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//复用功能,上拉输出
GPIO_AF_Set(GPIOE,14,1); //PE14,AF1
TIM1->ARR=arr; //设定计数器自动重装值
TIM1->PSC=psc; //预分频器不分频
TIM1->CCMR2|=6<<12; //CH4 PWM1模式
TIM1->CCMR2|=1<<11; //CH4 预装载使能
TIM1->CCER|=1<<12; //OC4 输出使能
TIM1->CCER|=1<<13; //OC4 低电平有效
TIM1->CR1|=1<<7; //ARPE使能
TIM1->CR1|=1<<0; //使能定时器1
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
#define LED1_PWM_VAL TIM1->CCR4
主程序:
|