新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2017-5-16
- 在线时间
- 8 小时
|
1金钱
因为用st的库,用hal库,用原子的库,配置完定时器后,时钟频率都是只能到1Mhz,系统时钟是72M的,没办法换了寄存器配置方式,原子哥用的重映射io,我想把重映射去掉,但是捣鼓了三天,重映射去掉后pa6无法发出pwm脉冲,照着手册核对了好几遍也不知道是哪的问题,麻烦各位大哥大姐给下建议吧,新年快乐
- void TIM3_PWM_Init(u16 arr,u16 psc)
- {
- RCC->APB1ENR|=1<<1; //TIM3时钟使能
- // RCC->APB2ENR|=1<<3; //使能PORTB时钟
- // GPIOB->CRL&=0XFF0FFFFF; //PB5输出
- // GPIOB->CRL|=0X00B00000; //复用功能输出
-
- RCC->APB2ENR|=1<<2; //使能PORTA时钟
- GPIOA->CRL&=0XF0FFFFFF; //PA6输出
- GPIOA->CRL|=0X0B000000; //复用功能输出
-
- //AFIO->MAPR&=0XFFFFF3FF; //清除MAPR的[11:10]
- //AFIO->MAPR|=1<<11; //部分重映像,TIM3_CH2->PB5
-
- RCC->APB2ENR|=1<<0; //开启辅助时钟
- //AFIO->MAPR&=0XFFFFF3FF; //清除MAPR的[11:10]
- //AFIO->MAPR|=1<<11; //部分重映像,TIM3_CH2->PB5
- TIM3->ARR=arr; //设定计数器自动重装值
- TIM3->PSC=psc; //预分频器不分频
-
- TIM3->CCMR1|=6<<4; //CH1 PWM1模式
- TIM3->CCMR1|=1<<3; //CH1预装载使能
- TIM3->CCER|=3; //OC1 输出使能
- TIM3->CR1=0x0080; //ARPE使能
- TIM3->CR1|=0x01; //使能定时器3
-
- // TIM3->CCMR1|=6<<12; //CH2 PWM2模式
- // TIM3->CCMR1|=1<<11; //CH2预装载使能
- // TIM3->CCER|=1<<4; //OC2 输出使能
- // TIM3->CR1=0x0080; //ARPE使能
- // TIM3->CR1|=0x01; //使能定时器3
- }
复制代码
|
|