初级会员

- 积分
- 132
- 金钱
- 132
- 注册时间
- 2015-6-18
- 在线时间
- 129 小时
|
1金钱
void TIM1_PWM_Init(void)//有复用
{
//此部分需手动修改IO口设置
RCC->APB2ENR|=1<<11; //TIM1时钟使能
RCC->APB2ENR|=1<<6; //使能PORTE时钟
GPIOE->CRH&=0XFF0F0F0F; //PE9、PE11、PE13输出
GPIOE->CRH|=0X00B0B0B0; //复用功能输出
GPIOE->ODR|=0X0000; //输出1
RCC ->APB2ENR|=1<<0;
AFIO->MAPR&=0XFFFFFF3F;
AFIO->MAPR|=3<<6;
TIM1->ARR=999;
TIM1->PSC=0;
TIM1->CCMR1|=6<<4; //CH1 PWM1模式
TIM1->CCMR1|=1<<3; //CH1预装载使能
TIM1->CCMR1|=6<<12; //CH2 PWM1模式
TIM1->CCMR1|=1<<11; //CH2预装载使能
TIM1->CCMR2|=6<<4; //CH3 PWM1模式
TIM1->CCMR2|=1<<3; //CH3预装载使能
TIM1->CCER|=1<<0; //OC1 输出使能
TIM1->CCER|=1<<4; //OC2 输出使能
TIM1->CCER|=1<<8; //OC3 输出使能
TIM1->CR1=0x0080;
TIM1->CR1|=0x01; //使能定时器1
TIM1->BDTR|=0x8000;
}
——————————————————————————————————————————————————————————————————————————————————————————————
void TIM1_PWM_Init(void) //没复用
{
//此部分需手动修改IO口设置
RCC->APB2ENR|=1<<11; //TIM1时钟使能
RCC->APB2ENR|=1<<2; //使能PORTA时钟
RCC->APB2ENR|=1<<3;
GPIOA->CRH&=0XFFFFF000; //PA8、PA9、PA10输出 9\11\13
GPIOA->CRH|=0X00000BBB; //复用功能输出
TIM1->ARR=9999;
TIM1->PSC=0;
TIM1->CCMR1|=6<<4; //CH1 PWM1模式
TIM1->CCMR1|=1<<3; //CH1预装载使能
TIM1->CCMR1|=6<<12; //CH2 PWM1模式
TIM1->CCMR1|=1<<11; //CH2预装载使能
TIM1->CCMR2|=6<<4; //CH3 PWM1模式
TIM1->CCMR2|=1<<3; //CH3预装载使能
TIM1->CCER|=1<<0; //OC1 输出使能
TIM1->CCER|=1<<4; //OC2 输出使能
TIM1->CCER|=1<<8; //OC3 输出使能
TIM1->CR1=0x0080;
TIM1->CR1|=0x01; //使能定时器1
TIM1->BDTR|=0x8000;
}
|
|