初级会员

- 积分
- 120
- 金钱
- 120
- 注册时间
- 2015-10-12
- 在线时间
- 18 小时
|
5金钱
关于定时器的pwm波输出比较
问题:只有通道3好使,通道4输出电平一直为低,通道2的高电平很奇怪啊
io口的配置
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0| GPIO_Pin_1 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // ???????ì????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // ???????ì????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
中断函数
void TIM3_IRQHandler(void)
{
static uint8_t pwm_index = 0; //????PWM?é±í
static uint16_t period_cnt = 0; //?????????????
static uint16_t pwm_index1=0;
static uint16_t period_cnt1 = 0; //?????????????
mmm=2;
if(TIM_GetITStatus(TIM3,TIM_IT_Update) != RESET)
{
TIM3->CCR1 =indexWave[pwm_index1]; //?ù??PWM±í?????¨?±?÷??±????????÷??
pwm_index1++; //±ê??PWM±í????????????
if( pwm_index1 >= 5) //??PWM????±í?????????ê????±é??????PWM?é±í±ê??
{
pwm_index1=0;
}
period_cnt1=0; //????????????±ê??
TIM_ClearITPendingBit (TIM3, TIM_IT_Update); //±?????????????±ê????
}
}
其他通道的使能感觉也没有少什么啊
下面是仿真的波形
从上到下依次是通道3通道4通道2,不知道为什么通道2的波形会是这样子
|
|