1.概念:
uc/os-II响应中断的过程:在系统接收到中断请求后,如何这时候CPU处于中断允许状态,系统就会中止正在运行的当前任务,而按照中断响应的指向转而去运行中断服务子程序; 中断服务子程序运行结束后,系统将会根据情况返回被中止的任务继续执行,或去运行另外一个优先级更高的就绪任务。
2. uc/os-II属于可剥夺型内核;中断结束回来不是运行原来任务,而是等待中级别最高的。记录中断嵌套的层数,定义全局变量:OSINtnesting;
OSIntEnter()作用:就是把全局变量OSIntNesting加1,记录中断嵌套数;
OSIntExit()退出中断服务程序
3. uc/os-II通常用一个任务来完成异步事件的处理工作,而在中断服务程序中是通过向任务发送消息的方式来激活这个任务。思考:如何来发送?
4. 在中断返回是任务调用的负责任务切换工作的函数: OSIntCtxSw()叫中断级任务切换函数。
5.应用程序中的临界段:
用OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()这两个宏来实现中断的开放和关闭。
注意:不要在临界段中调用uc/os-II提供的功能函数,以免系统崩溃。*********************************