main6.c

来自「Bycore是一个嵌入式操作系统内核。Bycore包括内存管理、任务管理、中断管」· C语言 代码 · 共 2,253 行 · 第 1/5 页

C
2,253
字号
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(45);
    }
}



void Task18(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task18 is running!\n");
            Print("The old priority of task18 is: %d\n", current()->prio);
            Print("now change task18's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task18 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(236);
    }
}



void Task19(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task19 is running!\n");
            Print("The old priority of task19 is: %d\n", current()->prio);
            Print("now change task19's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task19 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(119);
    }
}



void Task20(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task20 is running!\n");
            Print("The old priority of task20 is: %d\n", current()->prio);
            Print("now change task20's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task20 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(201);
    }
}



void Task21(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task21 is running!\n");
            Print("The old priority of task21 is: %d\n", current()->prio);
            Print("now change task21's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task21 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(121);
    }
}



void Task22(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task22 is running!\n");
            Print("The old priority of task22 is: %d\n", current()->prio);
            Print("now change task22's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task22 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(125);
    }
}



void Task23(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task23 is running!\n");
            Print("The old priority of task23 is: %d\n", current()->prio);
            Print("now change task23's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task23 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(123);
    }
}



void Task24(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task24 is running!\n");
            Print("The old priority of task24 is: %d\n", current()->prio);
            Print("now change task24's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task24 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(25);
    }
}



void Task25(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task25 is running!\n");
            Print("The old priority of task25 is: %d\n", current()->prio);
            Print("now change task25's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task25 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(231);
    }
}



void Task26(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task26 is running!\n");
            Print("The old priority of task26 is: %d\n", current()->prio);
            Print("now change task26's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task26 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(124);
    }
}



void Task27(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task27 is running!\n");
            Print("The old priority of task27 is: %d\n", current()->prio);
            Print("now change task27's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task27 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(127);
    }
}



void Task28(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task28 is running!\n");
            Print("The old priority of task28 is: %d\n", current()->prio);
            Print("now change task28's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task28 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(111);
    }
}



void Task29(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task29 is running!\n");
            Print("The old priority of task29 is: %d\n", current()->prio);
            Print("now change task29's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task29 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(123);
    }
}



void Task30(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task30 is running!\n");
            Print("The old priority of task30 is: %d\n", current()->prio);
            Print("now change task30's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task30 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(333);
    }
}



void Task31(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task31 is running!\n");
            Print("The old priority of task31 is: %d\n", current()->prio);
            Print("now change task31's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task31 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(22);
    }
}



void Task32(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task32 is running!\n");
            Print("The old priority of task32 is: %d\n", current()->prio);
            Print("now change task32's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task32 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(163);
    }
}



void Task33(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task33 is running!\n");
            Print("The old priority of task33 is: %d\n", current()->prio);
            Print("now change task33's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task33 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(330);
    }
}



void Task34(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task34 is running!\n");
            Print("The old priority of task34 is: %d\n", current()->prio);
            Print("now change task34's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task34 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(35);
    }
}



void Task35(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task35 is running!\n");
            Print("The old priority of task35 is: %d\n", current()->prio);
            Print("now change task35's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {
                rand = MAX_PRIO - 1;
            }
            osChgPrio(rand);
            Print("The new priority of task35 is: %d\n", current()->prio);
            Print("\n");
        }
        semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
        osWait(135);
    }
}



void Task36(void) {
    uword_t rand;
    uword_t err;
    while(1) {
        semGainFree(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
        if(err == SEM_OK) {
            Print("Task36 is running!\n");
            Print("The old priority of task36 is: %d\n", current()->prio);
            Print("now change task36's priority!\n");
            rand = get_clock() &0x3F;
            if(rand > MAX_PRIO - 1) {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?