📄 main2.c
字号:
#include "cpu.h"
#include "regdef.h"
#include "drivers\console.h"
#include "include\core.h"
#include "include\pipe.h"
#include "include\mailbox.h"
#define STACK_SIZE 4096
#define SAME_PRIO 61
#define UART_CTL_SEM_ID 125
#define TYPE 1
sem_t *uart_ctrl_sem;
void Task0(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task0 is running!\n");
Print("The old priority of task0 is: %d\n", current()->prio);
Print("now change task0's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task0 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(63);
}
}
void Task1(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task1 is running!\n");
Print("The old priority of task1 is: %d\n", current()->prio);
Print("now change task1's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task1 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(82);
}
}
void Task2(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task2 is running!\n");
Print("The old priority of task2 is: %d\n", current()->prio);
Print("now change task2's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task2 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(98);
}
}
void Task3(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task3 is running!\n");
Print("The old priority of task3 is: %d\n", current()->prio);
Print("now change task3's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task3 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(68);
}
}
void Task4(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task4 is running!\n");
Print("The old priority of task4 is: %d\n", current()->prio);
Print("now change task4's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task4 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(230);
}
}
void Task5(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task5 is running!\n");
Print("The old priority of task5 is: %d\n", current()->prio);
Print("now change task5's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task5 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(148);
}
}
void Task6(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task106 is running!\n");
Print("The old priority of task6 is: %d\n", current()->prio);
Print("now change task6's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task6 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(120);
}
}
void Task7(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task7 is running!\n");
Print("The old priority of task7 is: %d\n", current()->prio);
Print("now change task7's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task7 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(65);
}
}
void Task8(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task8 is running!\n");
Print("The old priority of task8 is: %d\n", current()->prio);
Print("now change task8's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task8 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(23);
}
}
void Task9(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task9 is running!\n");
Print("The old priority of task9 is: %d\n", current()->prio);
Print("now change task9's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task9 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(163);
}
}
void Task10(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task10 is running!\n");
Print("The old priority of task10 is: %d\n", current()->prio);
Print("now change task10's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task10 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(36);
}
}
void Task11(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task11 is running!\n");
Print("The old priority of task11 is: %d\n", current()->prio);
Print("now change task11's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task11 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(64);
}
}
void Task12(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task12 is running!\n");
Print("The old priority of task12 is: %d\n", current()->prio);
Print("now change task12's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task12 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(152);
}
}
void Task13(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task13 is running!\n");
Print("The old priority of task13 is: %d\n", current()->prio);
Print("now change task13's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task13 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(45);
}
}
void Task14(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task14 is running!\n");
Print("The old priority of task14 is: %d\n", current()->prio);
Print("now change task14's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task14 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(123);
}
}
void Task15(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task15 is running!\n");
Print("The old priority of task15 is: %d\n", current()->prio);
Print("now change task15's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task15 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(58);
}
}
void Task16(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task16 is running!\n");
Print("The old priority of task16 is: %d\n", current()->prio);
Print("now change task16's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task16 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(231);
}
}
void Task17(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
Print("Task17 is running!\n");
Print("The old priority of task17 is: %d\n", current()->prio);
Print("now change task17's priority!\n");
rand = get_clock() &0x3F;
if(rand > MAX_PRIO - 1) {
rand = MAX_PRIO - 1;
}
osChgPrio(rand);
Print("The new priority of task17 is: %d\n", current()->prio);
Print("\n");
}
semPost(UART_CTL_SEM_ID, uart_ctrl_sem);
osWait(45);
}
}
void Task18(void) {
uword_t rand;
uword_t err;
while(1) {
semGain(UART_CTL_SEM_ID, uart_ctrl_sem, &err);
if(err == SEM_OK) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -