打印
[应用相关]

高优先的中断后马上进行低优先后续处理,怎么办?

[复制链接]
1864|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
60岁老头|  楼主 | 2008-11-24 12:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果需要在短暂而高优先的中断后马上进行低优先后续处理,怎么办?
如何使用软中断处理之?
沙发
60岁老头|  楼主 | 2008-11-24 12:39 | 只看该作者

香斑竹,久违,又要请教了。

    这个问题我想了半天,好象任何一个本来不用的中断,都可能被借用之。
  但没有把握,请问,要注意点什么?有专用的软件中断吗?

使用特权

评论回复
板凳
香水城| | 2008-11-24 16:57 | 只看该作者

直接的函数调用不可以实现吗?

你所谓的“低优先后续处理”是什么?与“高优先的中断”是什么关系?

使用特权

评论回复
地板
djyos| | 2008-11-24 17:47 | 只看该作者

猜猜楼主的意思

中断需要立即响应,否则可能会丢东西,属于高优先级。
但是中断可能引发大量的工作,这些工作并不紧急,属于低优先级。

比如快递公司给你送来快件,你需要立即签收,否则送信的不等。信中要你准备10天后到北京开会的资料,工作量很大,但可以慢慢处理。

不知我猜的对不?
这种软件模型可以通过在中断ISR里释放信号量的方法实现。

使用特权

评论回复
5
60岁老头|  楼主 | 2008-11-24 19:41 | 只看该作者

其实,不算太复杂的问题。

    例:快速串口发送大量信息。其中我只关心少量N字节的信息,我只用稍大于N的缓冲区,在串收中断中判断并接收。但我要把他显示出来,而显示程序又比较慢,放在串收中断中不妥。在主程序中又不方便不停地查询。
    此时,我想,用一个低优先级的软中断来显示,比较合适。
    但STM32好象没有专用的软中断,又好象每一个中断都可以用来软中断。心里没底,故请教之。
    我现在已借用用EXTI9_5_IRQHandler()来实现了。不知有何不妥?

使用特权

评论回复
6
香水城| | 2008-11-27 12:09 | 只看该作者

可以用这个方法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

158

帖子

0

粉丝