金牌会员
 
- 积分
- 1700
- 金钱
- 1700
- 注册时间
- 2014-7-8
- 在线时间
- 183 小时
|
5金钱
stm32F103 定时器2中,0.5秒定时比较两个u16数进行比较,只比较了低8位,高8位没比较久进入了,这是怎么回事?
程序如下:
void TIM2_IRQHandler(void) //TIM2中断 AB塔轮流开启运行
{
int x1=AB_ST1,x2=AB_ST2; //x1=23
time_draw = 0x1c20;
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) //检查TIM2更新中断发生与否
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除TIMx更新中断标志
drain_count++;
if(time_draw==drain_count) // time_draw
{
GPIO_SetBits(GPIOB,GPIO_Pin_13);
}
if(drain_count==(7200+4) )
{
GPIO_ResetBits(GPIOB,GPIO_Pin_13);
drain_count=0;
}
}
程序中drain_count=0x0020时,就运行了GPIO_SetBits(GPIOB,GPIO_Pin_13);
time_draw 和drain_count都是u16类型
请高手指点下! |
|