运行中的任务不想被其他任务或者中断打断可以用临界代码。但是经过我实测发现这样操作以后好像依然还存在systick中断。
1、我的疑问是我可不可以人为用程序代码把systick直接暂停或者关闭了,任务执行完以后我再使能systick。这样操作不知道是否可行。(我会写直接操作关闭systick的程序,但是不知道这样操作是否科学合理,不知道会不会产生意外问题)
2、另外ucos iii系统本身后台默认本身都有什么中断。除了systick心跳中断以外还有其他什么中断吗。
3、总之我最终的目的是想实现在运行关键任务或者关键代码行的时候不被其他任何任务或者中断打断,不知道怎么操作才好。
4、除了下面的程序我还需要做什么吗。
[C] 纯文本查看 复制代码 CPU_CRITICAL_ENTER();
……
CPU_CRITICAL_EXIT();
[C] 纯文本查看 复制代码 OSIntEnter();
……
OSIntExit();
|