你好,我现在定时器中断例程里面加上定时器2,加上按键,当扫描到1时,关闭定时器2,当扫描到2时关闭定时器3,当扫描到3时,开启两个定时器:想实现按1时led0灭,按2时led1灭,按3时定时器正常工作,两个led同时闪烁。可程序下进去之后没有达到这样的目的,两个led始终以1hz的频率闪烁,好像按键没起作用,主函数如下:
int main(void)
{
u8 t=0;
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口初始化
LED_Init(); //初始化与LED连接的硬件接口
Timerx_Init(5000,7199);//10Khz的计数频率,计数到5000为500ms
while(1)
{
t = KEY_Scan();
switch(t)
{
case 1:
// RCC->APB1ENR|=0<<1;//TIM3时钟使能
TIM3->CR1&=0xfe; //使能定时器3
// RCC->APB2ENR&=0<<2; //使能PORTA时钟
break;
case 2:
// RCC->APB1ENR|=0<<0;//TIM3时钟使能
TIM2->CR1&=0xfe; //chu能定时器3
// RCC->APB2ENR&=0<<5; //使能PORTD时钟
break;
case 3:
// RCC->APB1ENR|=1<<1;//TIM3时钟使能
// RCC->APB1ENR|=1<<0;//TIM3时钟使能
TIM3->CR1|=0x01; //使能定时器3
TIM2->CR1|=0x01; //使能定时器3
break;
}
// LED0=!LED0;
// delay_ms(200);
}
}