uC/OSIII程序问题
时间:10-02
整理:3721RD
点击:
其他都正常,为什么一加中断临界就报错呢?
有一个中断方式几来着 你看看有没有设置 ii的时候是3并且有个宏定义 看看有没
有一个中断方式几来着 你看看有没有设置 ii的时候是3并且有个宏定义 看看有没
我用的是uCOS3,不知在哪里设置呢?我是新手
你编的别的地方有错没?如果函数的调度(跳转)正常的话配置就没错
3的话不清楚2 3和2的区别估计不大
2是在os_cpu.h中
#define OS_CRITICAL_METHOD 3
#if OS_CRITICAL_METHOD == 3
#define OS_ENTER_CRITICAL() {cpu_sr = OS_CPU_SR_Save();}
#define OS_EXIT_CRITICAL() {OS_CPU_SR_Restore(cpu_sr);}
#endif
最好在除主函数之外的第一个任务中(优先级最高的任务)建立所需的所有任务
每个任务的的具体代码在while(1){}中编写(有延时就能自动切换任务)
这样在建任务时就不用开关中断了
OS_ENTER_CRITICAL(); 这个是2中的进入临界区~~看看你那个是打错了还是别的
剩下的就不知道了
好的,谢谢,我后来加了CPU_SR_ALLOC();来定义了一下,好了