找回密码
 立即注册
查看: 1309|回复: 12

定时器中断

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-01-17 13:42:57

5

主题

5

回帖

65

积分

注册会员

积分
65
发表于 2024-1-10 19:39:35 | 显示全部楼层 |阅读模式
明明设置了100us的定时中断,但是发现中断程序程序运行了大约130us,这正常吗?不应该是100us后再重新进入中断重新跑吗?
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2024-1-10 22:10:38 | 显示全部楼层
搞不定,就用我们这个小工具来帮你
截图202401102209589599.jpg

http://www.stcmcudata.com/STCISP/stc-isp-15xx-v6.92K.zip





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-1-11 08:52:25 | 显示全部楼层
中断应该不会嵌套自己。。如果你的中断服务函数运行时间超过了定时器定时长度,就会变成出了中断服务函数又进中断服务函数
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-01-17 13:42:57

5

主题

5

回帖

65

积分

注册会员

积分
65
发表于 2024-1-11 09:23:48 | 显示全部楼层
_奶*** 发表于 2024-1-11 08:52
中断应该不会嵌套自己。。如果你的中断服务函数运行时间超过了定时器定时长度,就会变成出了中断服务函数又 ...

麻烦可以再解释一下吗?我是设置了一个100us定时中断时间,然后在中断程序里,最开始让某个端口为低电平,在中断程序最后让电平翻转,通过示波器,结果一看电平翻转的时间是130us,说明中断服务程序要运行的比我设置的定时器中断时间要长。我不太明白这应该是咋运行的,按照我的理解,不应该就是定时器中断设置100us,然后哪怕中断服务程序运行时间再长,也只运行100us后,退出中断吗,常理上不应该后面的中断服务程序运行不到吗?可现在竟然也运行完了

点评

你把定时器计时和进中断分成两件事来想就可以了。 就是定时器计时一直计,溢出就给TF标志置1。 中断出来以后检测到TF标志就进中断。 这样就算定时中TF被置1了,但是因为还没出中断,所以没法自己打断自己。  详情 回复 发表于 2024-1-11 10:05
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:166
  • 最近打卡:2025-03-23 14:26:30

13

主题

25

回帖

46

积分

新手上路

积分
46
发表于 2024-1-11 09:25:05 | 显示全部楼层
_奶*** 发表于 2024-1-11 08:52
中断应该不会嵌套自己。。如果你的中断服务函数运行时间超过了定时器定时长度,就会变成出了中断服务函数又 ...

就是出了中断,立马进中断吗
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-1-11 10:05:49 | 显示全部楼层
zs6*** 发表于 2024-1-11 09:23
麻烦可以再解释一下吗?我是设置了一个100us定时中断时间,然后在中断程序里,最开始让某个端口为低电平 ...

你把定时器计时和进中断分成两件事来想就可以了。
就是定时器计时一直计,溢出就给TF标志置1。
中断出来以后检测到TF标志就进中断。
这样就算定时中TF被置1了,但是因为还没出中断,所以没法自己打断自己。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-01-17 13:42:57

5

主题

5

回帖

65

积分

注册会员

积分
65
发表于 2024-1-11 10:42:10 | 显示全部楼层
王*** 发表于 2024-1-11 10:05
你把定时器计时和进中断分成两件事来想就可以了。
就是定时器计时一直计,溢出就给TF标志置1。
中断出来 ...

好的,太谢谢您了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-1-11 10:57:43 | 显示全部楼层
wei*** 发表于 2024-1-11 09:25
就是出了中断,立马进中断吗

是的,,,因为定时器的标志在中断服务函数运行过程中又被置位了,,退出中断之后MCU发现标志位又被置位所以就会再次响应中断,,
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-1-11 10:59:58 | 显示全部楼层
王*** 发表于 2024-1-11 10:05
你把定时器计时和进中断分成两件事来想就可以了。
就是定时器计时一直计,溢出就给TF标志置1。
中断出来 ...

没法自己打断自己,可以理解为因为中断优先级相同,所以单片机无法嵌套自己的中断么?

点评

对的,甚至说我有一个理论上的想法。 如果优先级是立刻生效的,那么在进入中断以后将本中断的优先级调高,那么如果一个中断时间内没有执行完成的话,就会被强行打断再次进入中断。虽然好像没啥用,不过应该算理论的  详情 回复 发表于 2024-1-11 13:30
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-1-11 13:30:06 | 显示全部楼层
_奶*** 发表于 2024-1-11 10:59
没法自己打断自己,可以理解为因为中断优先级相同,所以单片机无法嵌套自己的中断么? ...

对的,甚至说我有一个理论上的想法。
如果优先级是立刻生效的,那么在进入中断以后将本中断的优先级调高,那么如果一个中断时间内没有执行完成的话,就会被强行打断再次进入中断。虽然好像没啥用,不过应该算理论的巧妙运用?
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 08:52 , Processed in 0.351288 second(s), 117 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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