微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > uC/OSIII程序问题

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();来定义了一下,好了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top