初级会员
- 积分
- 149
- 金钱
- 149
- 注册时间
- 2018-5-8
- 在线时间
- 27 小时
|
2金钱
本帖最后由 dscx05 于 2018-5-15 15:01 编辑
void TIM3_PWM_Init(u16 arr,u16 psc)//参数是899,0
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0X0FFFFFFF; //PA7输出
GPIOA->CRL|=0Xb0000000; //复用功能输出
RCC->APB2ENR|=1<<0; //开启辅助时钟
AFIO->MAPR&=0XFFFFF3FF; //清除MAPR的[11:10]
TIM3->ARR=arr; //设定计数器自动重装值
TIM3->PSC=psc; //预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 PWM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CCER|=1<<4; //OC2 输出使能
TIM3->CR1=0x0080; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
TIM3->CCR2 = 0X0000;
}
使用TIM3-ch2,PA7 不重定向输出
pwm初始化代码如上,为什么执行完这个函数以后,PA7一开始就有输出,而且我怎么关都管不掉,直接赋值PA7 = 0;和CCR2 = 0;这两个办法都不行。
在主程序改变CCR,占空比会改变,但是变不到0。
|
|