uC/OS-III-6.3-uC/OS-III内部任务(中断处理任务 OS_IntQTask())

1.当设置OS_CFG.H中的OS_CFG_ISR_POST_DEFERRED_EN为1时, uC/OS-III就会创建一个任务,它的作用是尽快完成ISR中对post函数的调用, 将信号量、消息等对象先存在媒介中, 退出中断后,由中断处理任务完成将这些对象提交给任务。
2.正如“ 临界段” 所介绍的, uC/OS-III通过开启/关闭中断、锁/开锁调度器管理临界段。如果选择后一种方法, ISR调用的post函数不允许直接访问就绪列表、挂起队列等。
3.当ISR调用uC/OS-III提供的post函数时,ISR要提交的数据会被复制,该数据复制的目的地会被放到一个特殊的队列—”holding”队列。当所有的嵌套中断结束时, uC/OS-III切换到中断处理任务,它会将放置在”holding”队列中的信息重新提交到适当的任务。这个额外步骤的目的是减小关中断时间。
这里写图片描述
OS_IntQTak()被uC/OS-III创建,它的优先级通常被设为0(最高优先级)。如果OS_CFG_ISR_POST_DEFERRED_EN被设置为1,使能了这个任务,其它的任务的优先级就不能设置为0。
总结:任务是一段简单的程序。 在单CPU系统中, 任何时间只能有一个任务被CPU运行。 uC/OS-III支持多任务并对任务数没有限制( 仅限制于CPU的存储空间,包括代码空间和数据空间)。uC/OS-III创建五个内部任务: 空闲任务, 时基任务, 中断处理任务, 统计任务, 定时器任务。 空闲任务、 时基任务是必须的, 统计任务、定时器任务、中断处理任务是可选择的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值