打印
[uCOS/RTOS]

新人想问一下关于ucos中的中断服务函数问题

[复制链接]
832|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yongzhej|  楼主 | 2015-4-8 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近刚学ucos,在中断函数这里有个问题。以前用硬件中断都是直接用XXX_CallbackInstall(.....)直接安装一个中断函数,就是往中断向量表里弄个中断函数(原谅我不知道该怎么正确表达,就是这么个意思),然后控制中断开关就行了。不过现在看ucos-iii操作系统那个第九章中断管理,好像还需要在开始处写汇编,末尾写OSIntExit()。网上查了一下,貌似只要开头写
OS_ENTER_CRITICAL();                                                
OSIntNesting++;
OS_EXIT_CRITICAL();
结尾写OSIntExit()就行,不过我还是不太理解。就是以往的硬件中断比如PIT、UART中断函数是不是都要这么写以便进行任务调度,如果不需要那我该怎么把这些硬件中断与task比较优先级,还是像第七章说的那样ISR发布消息给特定任务或切换到更高优先级的就绪态的task?好吧有点晕了,就这样子问吧,第一硬件中断需不需要内核参与?第二如果我想内核参与硬件中断,函数相比原来该怎么写,还是就像上面说的添加好了就行?

相关帖子

沙发
yongzhej|  楼主 | 2015-4-8 17:07 | 只看该作者
对了,开头那个好像可以用OSIntEnter()代替来着

使用特权

评论回复
板凳
yongzhej|  楼主 | 2015-4-8 17:12 | 只看该作者
好吧我已经懂了.....

使用特权

评论回复
地板
zhusizhan| | 2015-4-9 11:45 | 只看该作者
自问自答

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝