新手入门
- 积分
- 10
- 金钱
- 10
- 注册时间
- 2021-11-10
- 在线时间
- 1 小时
|
1金钱
想请教一下大家,我写了一个代码用TIM3输出四个pwm波供四个电机使用,但是不知道为何在keil的仿真里面是没有波形输出的,是代码哪里存在问题吗?
#include "sys.h"
#include "delay.h"
void TIM3_IRQHandler(void)
{
TIM3->SR&=~(1<<0);
}
void TIM3_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1;
TIM3->ARR=arr;
TIM3->PSC=psc;
TIM3->DIER|=1<<0;
TIM3->CR1|=0X01;
MY_NVIC_Init(1,3,TIM3_IRQn,2);
}
void TIM3_PWM_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1;
RCC->APB2ENR|=1<<4;
GPIOC->CRL&=0X0FFFFFFF;
GPIOC->CRL|=0XB0000000;
GPIOC->CRL&=0XF0FFFFFF;
GPIOC->CRL|=0X0B000000;
GPIOC->CRH&=0XFFFFFFF0;
GPIOC->CRH|=0X0000000B;
GPIOC->CRH&=0XFFFFFF0F;
GPIOC->CRH|=0X000000B0;
RCC->APB2ENR|=1<<0;
AFIO->MAPR&=0XFFFFF3FF;
AFIO->MAPR|=3<<10;
TIM3->ARR=arr;
TIM3->PSC=psc;
TIM3->CCMR1|=7<<4;
TIM3->CCMR1|=1<<3;
TIM3->CCMR1|=7<<12;
TIM3->CCMR1|=1<<11;
TIM3->CCMR2|=7<<4;
TIM3->CCMR2|=1<<3;
TIM3->CCMR2|=7<<12;
TIM3->CCMR2|=1<<11;
TIM3->CCER|=1<<0;
TIM3->CCER|=1<<4;
TIM3->CCER|=1<<8;
TIM3->CCER|=1<<12;
TIM3->CR1=0x0080;
TIM3->CR1|=0x01;
}
|
最佳答案
查看完整内容[请看2#楼]
参考这个贴子就行 http://openedv.com/forum.php?mod=viewthread&tid=288998&highlight=%CB%C4%C2%B7pwm
|