thomas2007

    1. 已经解决,为什么需要修改OS_Sched函数? void  OS_Sched (void) { #if OS_CRITICAL_METHOD == 3                            /* Allocate storage for CPU status register     */     OS_CPU_SR  cpu_sr; #endif        INT8U      y;     OS_ENTER_CRITICAL();     if ((OSIntNesting == 0) && (OSLockNesting == 0)) { /* Sched. only if all ISRs done & not locked    */         y             = OSUnMapTbl[OSRdyGrp];          /* Get pointer to HPT ready to run              */         OSPrioHighRdy = (INT8U)((y
    2. 一道测试题 教你一个终身受用的小哲理 780/86875 工作这点儿事 2012-02-28
      什么东东西
    3. UCOS关于邮箱的,几个问题问一下各位大大 2/3577 实时操作系统RTOS 2012-02-18
      好资料
    4. 有问必答--关于UCOS 115/36383 实时操作系统RTOS 2012-02-18
      刚开始学uCOS,建了三个任务, TaskA,TaskB,TaskC, 优先级分别是4,5,6 现在打算试验邮箱广播功能, TASKB发送邮箱,TASKA,TASKC接收邮箱。 1.想测试是否一个消息出去, 是否第一个就绪的优先级最高的任务接收到之后就删除这个消息? 但是发现程序一直停留在TASKB中。 不知道为什么?程序如下。有大侠帮忙解惑吗?用 Freescale S12芯片,编译通过,邮箱定义在文件头就没有贴出来 void TaskA (void *pdata) { INT16U *tempvalue; pdata = pdata; /* nothing */ for(;;) { tempvalue = OSMboxPend(BroadBox,0,&err); asm NOP; OSTimeDly(5); } } void TaskB (void *pdata) { INT16U *tempvalue,MeasureValue[12]; INT8U i; pdata = pdata; /* nothing */ for(;;) { for(i=0;i
    5. 【讨论】关于UCOS-ii中编写驱动的基本流程? 5/10048 实时操作系统RTOS 2012-02-18
      刚开始学uCOS,建了三个任务, TaskA,TaskB,TaskC, 优先级分别是4,5,6 现在打算试验邮箱广播功能, TASKB发送邮箱,TASKA,TASKC接收邮箱。 1.想测试是否一个消息出去, 是否第一个就绪的优先级最高的任务接收到之后就删除这个消息? 但是发现程序一直停留在TASKB中。 不知道为什么?程序如下。有大侠帮忙解惑吗?用 Freescale S12芯片,编译通过,邮箱定义在文件头就没有贴出来 void  TaskA (void *pdata) {   INT16U *tempvalue; pdata  = pdata;                            /* nothing  */ for(;;) {   tempvalue = OSMboxPend(BroadBox,0,&err); asm NOP; OSTimeDly(5);    } } void  TaskB (void *pdata) {   INT16U *tempvalue,MeasureValue[12];   INT8U i;    pdata  = pdata;                            /* nothing  */ for(;;) {     for(i=0;i
    6. uC/OS II互斥型信号量 ——学习积累专用 2/3839 实时操作系统RTOS 2012-02-18
      ?啥东西
    7. ucos原理详细介绍 67/17669 实时操作系统RTOS 2012-02-18
      多谢
    8. 想学ucos应先读懂这几个函数!! 10/5270 实时操作系统RTOS 2012-02-18
      太少了啊
    9. μCOSⅡ内核结构分析及多任务调度实现 13/6805 实时操作系统RTOS 2012-02-18
      感谢感谢
    10. 好资料,感谢楼主
    11. Borland C++3.1入门教程 35/13490 嵌入式系统 2012-02-18
      好资料,可惜俺没银子
    12. 以下是完整的代码,有定义啊。。。没定义的话,编译都通不过啊。 MCU_init()的函数我就没COPY进来了。谢谢楼上啊。帮忙看看?1楼的优先级定义可以自己设置啊,不一定要设置1.OS_STK   TaskAStartStk[TASK_STK_SIZE];OS_STK   TaskBStartStk[TASK_STK_SIZE];OS_STK   TaskCStartStk[TASK_STK_SIZE];INT16U MeasureValue[MEASURECNT];    //包括电压,电流,温度OS_EVENT *BroadBox; //OS_EVENT *RS232Sem;//OS_EVENT *void  Basic_Init(void);              void  MCU_init(void); /* Device initialization function declaration */void  TaskA (void *pdata){  INT16U *tempvalue;    pdata  = pdata;                            /* nothing  */    for(;;)     {          tempvalue = OSMboxPend(BroadBox,0,&err);        asm NOP;                OSTimeDly(5);       }}void  TaskB (void *pdata){  INT16U *tempvalue,MeasureValue[12];  INT8U i;      pdata  = pdata;                            /* nothing  */    for(;;)     {        for(i=0;i<12;i++)        MeasureValue = i+2;        OSMboxPostOpt(BroadBox,MeasureValue,OS_POST_OPT_BROADCAST);            asm NOP;                OSTimeDly(10);       }}void  TaskC (void *pdata){  INT16U *tempvalue;    pdata  = pdata;                            /* nothing  */    for(;;)     {          tempvalue = OSMboxPend(BroadBox,0,&err);        asm NOP;                OSTimeDly(100);       }}void main(void) {  INT8U i;  INT16U j;  MCU_init();        EnableInterrupts;  OSInit();  BroadBox = OSMboxCreate((void*)0);     i = OSTaskCreate(TaskA, (void *)0, &TaskAStartStk[TASK_STK_SIZE - 1],4);    i = OSTaskCreate(TaskB, (void *)0, &TaskBStartStk[TASK_STK_SIZE - 1], 5);      i = OSTaskCreate(TaskC, (void *)0, &TaskCStartStk[TASK_STK_SIZE - 1], 6);      OSStart();   }

最近访客

现在还没有访客

< 1/0 >

统计信息

已有51人来访过

  • 芯积分:--
  • 好友:--
  • 主题:2
  • 回复:12

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言