uC/OSIII程序问题

2019-07-14 22:38发布

其他都正常,为什么一加中断临界就报错呢?
00.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
lightningboy
1楼-- · 2019-07-15 09:06
总有也许 发表于 2015-4-29 22:36
有一个中断方式几来着  你看看有没有设置  ii的时候是3并且有个宏定义 看看有没 ...

我用的是uCOS3,不知在哪里设置呢?我是新手
总有也许
2楼-- · 2019-07-15 13:02
lightningboy 发表于 2015-4-30 09:15
我用的是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
总有也许
3楼-- · 2019-07-15 13:38
最好在除主函数之外的第一个任务中(优先级最高的任务)建立所需的所有任务
每个任务的的具体代码在while(1){}中编写(有延时就能自动切换任务)
总有也许
4楼-- · 2019-07-15 17:12
总有也许 发表于 2015-4-30 09:34
最好在除主函数之外的第一个任务中(优先级最高的任务)建立所需的所有任务
每个任务的的具体代码在while ...

这样在建任务时就不用开关中断了
总有也许
5楼-- · 2019-07-15 22:52
 精彩回答 2  元偷偷看……
lightningboy
6楼-- · 2019-07-16 03:09
总有也许 发表于 2015-4-30 09:41
OS_ENTER_CRITICAL(); 这个是2中的进入临界区~~看看你那个是打错了还是别的
剩下的就不知道了

好的,谢谢,我后来加了CPU_SR_ALLOC();来定义了一下,好了

一周热门 更多>