初级会员

- 积分
- 165
- 金钱
- 165
- 注册时间
- 2017-7-22
- 在线时间
- 45 小时
|
1金钱
我用32探索者写了一个程序 测试 LED 按键 PWM ADC 定时器 外部中断 都能在一起正常工作吗就定时器2不能工作 看不出是那的问题 求前辈们指点
用到的资源
/****************************************************
LED灯: F9 F10 对应 DS0 DS1
按键: E2 E3 E4 A0对应KEY0 KEY1 KEY2 KEY_UP
PWM: 定时器3 PWM通道1 2 3 4 对应 A6 A7 B0 B1
定时器: 定时器2 定时器5
外部中断: F0 F1 F3 F4 对应中断0 1 2 3
ADC: ADC1 通道4 5 对应 A4 A5
****************************************************/
初始化
void Init(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //初始化延时函数
uart_init(115200); //初始化串口波特率为115200
LED_Init(); //初始化LED
KEY_Init(); //初始化按键
LCD_Init(); //初始化LCD
Adc_Init(); //初始化ADC
PWM_GPIO_Config(); //初始化PWM的IO (定时器3)
PWM_Init(200-1,84-1); //初始化PWM
TIM2_Int_Init(5000-1,1024-1); //初始化TIM2
TIM5_Int_Init(10000-1,1024-1); //初始化TIM5
EXTIX_GPIO_Config(); //初始化EXTI的IO
EXTIX_Init(); //初始化EXTI
}
//定时器2中断服务函数
void TIM2_IRQHandler(void)
{
static u8 i=0;
if(TIM_GetITStatus(TIM2,TIM_IT_Update)==SET) //溢出中断
{
LCD_ShowNum(78,210,i,1,16);
i++;
if(i==10)i=0;
}
TIM_ClearITPendingBit(TIM2,TIM_IT_Update); //清除中断标志位
}
//定时器5中断服务函数
void TIM5_IRQHandler(void)
{
static u8 j=0;
if(TIM_GetITStatus(TIM5,TIM_IT_Update)==SET) //溢出中断
{
LCD_ShowNum(78,230,j,1,16);
j++;
if(j==10)j=0;
}
TIM_ClearITPendingBit(TIM5,TIM_IT_Update); //清除中断标志位
}
|
|