OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3440|回复: 2

关于定时器内比较的问题

[复制链接]

9

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1700
金钱
1700
注册时间
2014-7-8
在线时间
183 小时
发表于 2015-3-2 10:18:48 | 显示全部楼层 |阅读模式
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类型
请高手指点下!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-3-2 13:21:57 | 显示全部楼层
中断服务程序耗时太长?
回复

使用道具 举报

9

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1700
金钱
1700
注册时间
2014-7-8
在线时间
183 小时
 楼主| 发表于 2015-3-2 13:44:50 | 显示全部楼层
没多长吧,就这么几句话啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 14:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表