OpenEdv-开源电子网

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

定时器异常

[复制链接]

60

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
483
金钱
483
注册时间
2013-7-27
在线时间
4 小时
发表于 2017-7-29 08:50:42 | 显示全部楼层 |阅读模式
描述:
void TIM3_IRQHandler(void)   
{
if(TIM3->SR &(1<<0))
{
  TIM3->SR &=~(1<<0);
  timer3_cnt++;
  if(timer3_cnt>10)
  {
   flag_1s=1;
   timer3_cnt=0;///仿真可进入此处

  }
}
}

main函数 while(1)中,
  while(1)
{
    if(flag_1s)
   {
      flag_1s =0;///中断无法进入该if语句内
     ///其他语句
   }
}

所用系统为Win7,64位,感觉很神奇?求个位帮忙分析一下原因,多谢多谢!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

17

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-7-28
在线时间
4 小时
发表于 2017-7-29 10:06:42 | 显示全部楼层
表示不会锁存器版本,库函数版本比较好用
回复 支持 反对

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2017-7-29 14:07:54 | 显示全部楼层
中断怎么会进入主函数呢?中断产生只能进入相应的中断入口函数,执行完中断函数后指针返回原来中断的地方继续执行下面的程序!
回复 支持 反对

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-7-29 15:10:44 | 显示全部楼层
你确定在硬件上调试仿真时
  if(flag_1s)
   {
      flag_1s =0;///中断无法进入该if语句内
     ///其他语句
   }
flag_1s == 1 时 无法进入if语句?
还是flag_1s 在某处被修改了
回复 支持 反对

使用道具 举报

60

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
483
金钱
483
注册时间
2013-7-27
在线时间
4 小时
 楼主| 发表于 2017-7-29 16:37:47 | 显示全部楼层
wxjhby 发表于 2017-7-29 15:10
你确定在硬件上调试仿真时
  if(flag_1s)
   {

if(flag_1s)
{


}
这个花括号,中断进不去。
回复 支持 反对

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-7-29 19:25:46 | 显示全部楼层
没明白
中断进不去 还是 中断进不了这个if
这个if本来就不在中断里,怎么能进去呢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-19 16:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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