STM32F103ZET怎么设置TIM3_CH1、2、3、4输出四路PWM

2019-08-13 19:30发布

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<<0;        //开启辅助时钟
AFIO->MAPR&=0XFFFFF3FF;  //清除 MAPR 的[11:10]
AFIO->MAPR|=1<<11;         //部分重映像,TIM3_CH2->B5
TIM3->ARR=arr;        //设定计数器自动重装值
TIM3->SC=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                  
} 还有就是四路PWM都分别可调吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
靠谱的鱼干
2019-08-14 03:48
void Encoder_Init(u16 arr) 
{     
RCC->APB1ENR|=1<<1;       //TIM3时钟使能     
RCC->APB2ENR|=1<<0;     //开启辅助时钟    
AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24] 
AFIO->MAPR|=0X04000000; //关闭JTAG 
   
GPIOA->CRL&=0X00FFFFFF;//PA7.PA6输入 
GPIOA->CRL|=0X88000000;//下拉输入     
GPIOA->ODR|=1<<7;//PA7上拉    
GPIOA->ODR|=1<<6;//PA7上拉 

Ex_NVIC_Config(GPIO_A,7,FTIR); //上升沿触发 
Ex_NVIC_Config(GPIO_A,6,FTIR);//上升沿触发 

TIM3->ARR=arr;//设定计数器自动重装值  
    TIM3->CCMR1|=1<<0;  //CC1S=01 
TIM3->CCMR1|=1<<8;  //CC2S=01 
TIM3->CCER|=0<<1;  //CC1P=0 
TIM3->CCER|=0<<5;  //CC2P=0 
    TIM3->SMCR|=3<<0; //SMS=011 
TIM3->CR1|=1<<0;;   //CEN使能  
TIM3->CR1|=0x01;    //使能定时器3     
}     

怎么是设置成输入模式啊? 不是输出模式吗? 而且TIM3->CR1这个寄存器都没见有介绍

一周热门 更多>