中级会员
 
- 积分
- 222
- 金钱
- 222
- 注册时间
- 2016-2-18
- 在线时间
- 26 小时
|
u8 i=0;
u8 flag=0;
void TIM3_IRQHandler(void)
{
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
i++;
if(i==6) //表示产生1分钟的定时
{
i=0;
flag=1;
// if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)==Bit_RESET)
// {
// if(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_5)==Bit_RESET)
// {
// //LED 熄灭
// GPIO_SetBits(GPIOB,GPIO_Pin_5);
// }
// else
// {
// //LED 发光
// GPIO_ResetBits(GPIOB,GPIO_Pin_5);
// }
// }
}
}
这个是定时器服务函数
外部调用了flag 但是为什么进不主函数的while了呢?其他配置都是正确的!
#include "pbdata.h"
extern u8 flag;
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);
void TIM3_Configuration(void);
int main(void)
{
RCC_Configuration(); //系统时钟初始化
GPIO_Configuration();//端口初始化
TIM3_Configuration();
NVIC_Configuration();
if(flag==1)
{
//flag=0;
while(1)
{
//LED 熄灭
GPIO_SetBits(GPIOB,GPIO_Pin_5);
delay_ms(2000);
//LED 发光
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
delay_ms(2000);
}
}
// while(1);
}
|
|