搜索
bottom↓
回复: 2

您好,马老师。有关对您AVR中断介绍的文章中一个说法的理解

[复制链接]

出0入0汤圆

发表于 2007-6-29 17:06:56 | 显示全部楼层 |阅读模式
您说:‘AVR中断嵌套处理是通过软件方式实现的。如在B中断服务中,如需要MCU能及时的响应A中断(不是等本次中断返回后再响应),B中断的服务程序应这样设计:(1)B中断的现场保护;(2)屏蔽除A以外其它的中断允许标志;(3)用指令SEI开放允许全局中断;(4)B中断服务;(5)用指令CLI禁止全局中断(6)恢复在本中断程序被屏蔽的中断允许标志;(7)B中断现场恢复;(8)B中断返回。’

我想说,如果用c语言的话是否顺序(1)、(7)和(8)均可省略呢?还有顺序(4)B中断服务,是指中断后的相关处理程序吗?



  还有一个例子,想请教您。假设我现在是用mega1280,我用了uart0和timer3,timer3我用了溢出中断,且1ms中断相应一次。

  显然uart0的中断优先级要高于timer3的溢出中断。我一般写程序的习惯是在响应中断后,在中断处理过程的一开始加cli();在最末尾加sei();为的是排除其他中断的干扰。但现在我的程序要求最先保证uart0的中断响应,所以我在timer3的溢出中断响应处理中,去掉了cli()和sei()。这样就可以使即便程序正在运行在timer3的中断响应中,这时如果有uart0的中断来,就会先去执行uart0的中断。这样一来是否会造成我定时中断响应的不准确呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2007-6-30 01:05:21 | 显示全部楼层
1。"如果用c语言的话是否顺序(1)、(7)和(8)均可省略呢?还有顺序(4)B中断服务,是指中断后的相关处理程序吗?"



答:使用C语言的话,(1)(7)(8)可以省掉,因为C语言的环境本身已经处理了这3个功能。而(4)就是指中断B本身的中断服务程序。



2。".......这样一来是否会造成我定时中断响应的不准确呢?"



答:这个问题应该这样分析:



a)timer3是1ms一次。如果你的uart0中断服务加上timer3的中断服务程序执行时间小与1ms,则不会造成定时中断的响应的不准确,只是当有uart0产生是,本次time3的中断服务会拖后一点时间。



b)但当uart0中断申请稍微早于timer3的中断,或与time3的中断申请同时产生的话,time3的中断申请准确,但响应本次time3中断的时间要延后。



c)我已经讲过,中断服务程序的编写原则之一是“中断服务程序的执行时间仅可能的短”!

你的time3是1ms一次,但如果time3服务程序执行的时间>1ms的话,就是没有中断嵌套,你的time3响应也不准确了。





3)不管使用任何的语言,在中断处理过程的一开始加cli();在最末尾加sei()都是没有必要的。因为AVR的硬件已经自动处理了这些功能。加上这些语句,增加了中断服务程序的执行时间,反而有害。



4)“我在timer3的溢出中断响应处理中,去掉了cli()和sei()。这样就可以使即便程序正在运行在timer3的中断响应中,这时如果有uart0的中断来,就会先去执行uart0的中断。 ”

   

答:如果在你的系统中只使用了2个中断,这个说法是正确的。但系统中有3个以上的中断,那么在time3中断程序的执行过程中,任何其它的中断申请产生,都将会打断time3的中断。

出0入0汤圆

 楼主| 发表于 2007-7-3 11:38:29 | 显示全部楼层
我明白了,谢谢您这样详细的解释!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 17:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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