初级会员

- 积分
- 89
- 金钱
- 89
- 注册时间
- 2016-3-1
- 在线时间
- 17 小时
|
15金钱
我仿照例程里TIM1的PWM输出实验,分别写了TIM2、3、4、5的PWM输出实验,仿真时候成功输出了TIM2、3的PWM波,但是仿真不出TIM4、5的波形?具体程序如下:
void TIM2_PWM_init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<0; //TIM2 时钟使能
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XFFFFFFF0; //PA8 清除之前的设置
GPIOA->CRL|=0X0000000B; //复用功能输出
TIM2->ARR=arr; //设定计数器自动重装值
TIM2->PSC=psc; //预分频器设置
TIM2->CCMR1|=7<<4; //CH1 PWM2 模式
TIM2->CCMR1|=1<<3; //CH1 预装载使能
TIM2->CCER|=1<<0; //OC1 输出使能(通道2)
// TIM2->BDTR|=1<<15; //MOE 主输出使能
TIM2->CR1=0x0080; //ARPE 使能
TIM2->CR1|=0x01; //使能定时器 1
}
void TIM3_PWM_init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1; //TIM3 时钟使能
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XF0FFFFFF; //PA8 清除之前的设置
GPIOA->CRL|=0X0B000000; //复用功能输出
TIM3->ARR=arr; //设定计数器自动重装值
TIM3->PSC=psc; //预分频器设置
TIM3->CCMR1|=7<<4; //CH1 PWM2 模式
TIM3->CCMR1|=1<<3; //CH1 预装载使能
TIM3->CCER|=1<<0; //OC1 输出使能
//TIM3->BDTR|=1<<15; //MOE 主输出使能
TIM3->CR1=0x0080; //ARPE 使能
TIM3->CR1|=0x01; //使能定时器 1
}
void TIM4_PWM_init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<2; //TIM4 时钟使能
RCC->APB2ENR|=1<<3; //使能PORTb时钟
GPIOA->CRL&=0XF0FFFFFF; //PA8 清除之前的设置
GPIOA->CRL|=0X0B000000; //复用功能输出
TIM4->ARR=arr; //设定计数器自动重装值
TIM4->PSC=psc; //预分频器设置
TIM4->CCMR1|=7<<4; //CH1 PWM2 模式
TIM4->CCMR1|=1<<3; //CH1 预装载使能
TIM4->CCER|=1<<0; //OC1 输出使能
//TIM4->BDTR|=1<<15; //MOE 主输出使能
TIM4->CR1=0x0080; //ARPE 使能
TIM4->CR1|=0x01; //使能定时器 1
}
void TIM5_PWM_init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<3; //TIM5 时钟使能
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XFFFFFF0F; //PA8 清除之前的设置
GPIOA->CRL|=0X000000B0; //复用功能输出
TIM5->ARR=arr; //设定计数器自动重装值
TIM5->PSC=psc; //预分频器设置
TIM5->CCMR1|=7<<4; //CH1 PWM2 模式
TIM5->CCMR1|=1<<3; //CH1 预装载使能
TIM5->CCER|=1<<4; //OC1 输出使能
//TIM5->BDTR|=1<<15; //MOE 主输出使能
TIM5->CR1=0x0080; //ARPE 使能
TIM5->CR1|=0x01; //使能定时器 1
}
main程序:
TIM1_PWM_init(7200,10000);//周期1s
TIM3_PWM_init(7200,5000);//周期0.5s
TIM2_PWM_init(7200,20000);
TIM4_PWM_init(7200,10000);
TIM5_PWM_init(7200,10000);
PWM1_VAL=3600;
PWM2_VAL=3600;
PWM3_VAL=3600;
PWM4_VAL=3600;
PWM5_VAL=3600;
顺带提一下,TIM4输出脚是PB6,TIM5输出脚是PA1,应该没错吧!
|
|