uc/os的中断
来源:互联网 发布:建设银行mac版网银盾 编辑:程序博客网 时间:2024/05/01 23:26
3.1.1 UC/OS-II 的中断过程
为了记录中断嵌套的层数,UC/OS-II定义了一个全局变量OSIntNesting
两个重要函数OSIntEnter()和OSIntExit()
函数OSIntEnter()的作用就是把全局变量OSIntNesting加1,被用于记录中断嵌套层数。
void OSIntEnter(void)
{
If(OSRunning== TRUE)
{
If(OSIntNesting < 255)
{
OSIntNesting ++;
}
}
}
函数OSIntEnter()的调用通常发生在中断服务程序保护了被中断任务的断点数据之后,运行用户中断服务代码之前,称为进入中断服务函数。
OSIntExit()的流程图如下:
OSIntExit(void)
{
#if OS_CRITICAL_METHOD == 3
OS_CPU_SR cpu_sr;
#endif
If(OSRunning == TRUE)
{
OS_ENTER_CRITICAL();
If(OSIntNesting > 0)
{
OSIntNesting --;
}
If((OSIntNesting ==0)&&(OSLockNesting == 0))
{
OSIntExitY =OSUnMapTbl[OSRdyGrp];
OSPrioHighRdy=(INT8U)((OSIntExitY<<3)+OSUnMapTbl[OSRdyTbl[OSIntExitY]]);
If(OSPrioHighRdy != OSPrioCur)
{
OSTCBHighRdy = OSTCBPrioTbl[OSPrioHigh ];
OSCtxSwCtr++;
OSIntCtxSw();
}
}
OS_EXIT_CRITICAL();
}
}
- uc/os的中断
- UC/OS-II 的中断
- uc-/os-ii的中断和时钟
- UC/OS-II的中断和时钟
- uC/OS 的中断 —— uC/OS学习笔记(三)
- uC/OS 的中断——uC/OS学习笔记(三)
- [uC/OS-II原理及应用]uC/OS-II的中断和时钟
- uc/os-ii开关中断
- UC/OS II中断管理
- uc/OS II移植中软件中断的理解
- 第三章uc/os-2的中断和时钟
- uC/OS-II的中断和时钟_读书笔记_4
- uC/OS-ll 第三讲_uC/OS-ll的中断及时钟
- uC/OS ll 第三讲_uC/OS-ll的中断及时钟
- UC/OS-II基础知识之中断
- uC/OS-II中断及时钟节拍
- uc/os-iii学习笔记-中断管理
- uC/OS-III知识点整理--中断向量
- UML9种视图
- 1021. Deepest Root
- 历届试题 剪格子
- 【大话设计模式】附录A 笔记
- HDU5040 Instrusive,bfs+优先队列
- uc/os的中断
- 小飞鱼通达商务平台课程 OA开发程序基础课 2月18日 第二课 HTML基础作业
- JAVA中的变量及类型
- (十补)自定义布局管理器
- SpringMVC入门实例(解析工作原理)
- easyUi更变分页时事件的获取
- 北漂的程序猿何去何从
- Jenkins系列(一)----Jenkins持续集成简介
- POJ-1797Heavy Transportation (最小生成树问题)