⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main12.c

📁 Bycore是一个嵌入式操作系统内核。Bycore包括内存管理、任务管理、中断管理、任务互斥、同步与通信管理等功能。Bycore全部由C语言完成
💻 C
📖 第 1 页 / 共 3 页
字号:
#include "include\core.h"
#include "include\mem.h"
#include "fs\fs.h"
#include "drivers\uart.h"
#include "drivers\chdev.h"

#define STACK_SIZE 1024

char_t msg[] = {"welcome to use bycore \n"};
char_t msg1[] = {"welcome to use bycore wtiten by zhanghu \n"};
char_t msg2[] = {"welcome to use bycore wtiten by Jern \n"};
chdev_t *pcdev;

void task1(void) {
	word_t fd;
	const char_t *ch;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		ch = msg;
		if((fd = open("uart0")) != -1) {
    		write(fd, ch, sizeof(msg));
            llseek(fd, 100);
//          ioctl(fd, 0, &mode1);
//          osWait(100);
//          write(fd, "baud has been changed to 9600 in task1\n", 40);
//          osWait(100);
//          ioctl(fd, 0, &mode2);
    		close(fd);
        }
        osWait(142);
	}
}

void task2(void) {
	word_t fd;
	const char_t *ch;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		ch = msg1;
		if((fd = open("uart0")) != -1) {
		    write(fd, ch, sizeof(msg1));
//          ioctl(fd, 0, &mode1);
//          osWait(100);
//          write(fd, "baud has been changed to 9600 in task2\n", 40);
//          osWait(100);
//          ioctl(fd, 0, &mode2);
		    close(fd);
        }
        osWait(139);
	}
}

void task3(void) {
	word_t fd;
	const char_t *ch;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		ch = msg2;
		if((fd = open("uart0")) != -1) {
		    write(fd, ch, sizeof(msg2));
//          ioctl(fd, 0, &mode1);
//          osWait(100);
//          write(fd, "baud has been changed to 9600 in task3\n", 40);
//          osWait(100);
//          ioctl(fd, 0, &mode2);
            close(fd);
        }
        osWait(59);
	}
}

void task4(void) {
	word_t fd;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task4 is running\n", 18);
 //         ioctl(fd, 0, &mode1);
 //         osWait(100);
 //         write(fd, "baud has been changed to 9600 in task4\n", 40);
 //         osWait(100);
 //         ioctl(fd, 0, &mode2);
            close(fd);
        }
        osWait(56);
	}
}

void task5(void) {
	word_t fd;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task5 is running\n", 18);
//          ioctl(fd, 0, &mode1);
//          osWait(100);
//          write(fd, "baud has been changed to 9600 in task5\n", 40);
//          osWait(100);
//          ioctl(fd, 0, &mode2);
		    close(fd);
        }
        osWait(55);
	}
}

void task6(void) {
	word_t fd;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task6 is running\n", 18);
//          ioctl(fd, 0, &mode1);
//            osWait(100);
//            write(fd, "baud has been changed to 9600 in task6\n", 40);
//            osWait(100);
//            ioctl(fd, 0, &mode2);
		    close(fd);
        }
        osWait(48);
	}
}

void task7(void) {
	word_t fd;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task7 is running\n", 18);
//          ioctl(fd, 0, &mode1);
//          osWait(100);
//          write(fd, "baud has been changed to 9600 in task7\n", 40);
//          osWait(100);
//          ioctl(fd, 0, &mode2);
		    close(fd);
        }
        osWait(53);
	}
}

void task8(void) {
	word_t fd;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task8 is running\n", 18);
//          ioctl(fd, 0, &mode1);
//          osWait(100);
//          write(fd, "baud has been changed to 9600 in task8\n", 40);
//          osWait(100);
//          ioctl(fd, 0, &mode2);
		    close(fd);
        }
        osWait(65);
	}
}

void task9(void) {
	word_t fd;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task6 is running\n", 18);
//            ioctl(fd, 0, &mode1);
//            osWait(100);
//            write(fd, "baud has been changed to 9600 in task9\n", 40);
//            osWait(100);
//            ioctl(fd, 0, &mode2);
		    close(fd);
        }
        osWait(35);
	}
}

void task10(void) {
	word_t fd;
    struct uart_mode mode1, mode2;
    mode1.Baud = 9600;
    mode1.DataLen = 8;
    mode1.Parity = UART_PARITY_NONE;
    mode1.StopLen = 1;

    mode2.Baud = 115200;
    mode2.DataLen = 8;
    mode2.Parity = UART_PARITY_NONE;
    mode2.StopLen = 1;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task10 is running\n", 18);
//          ioctl(fd, 0, &mode1);
//          osWait(100);
//          write(fd, "baud has been changed to 9600 in task10\n", 40);
//          osWait(100);
//          ioctl(fd, 0, &mode2);
		    close(fd);
        }
        osWait(56);
	}
}
void task11(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task11 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task12(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task12 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task13(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task13 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task14(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task14 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task15(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task15 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task16(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task16 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task17(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task17 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task18(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task18 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task19(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task19 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task20(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task20 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task21(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task21 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task22(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task22 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task23(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task23 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task24(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task24 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task25(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task25 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task26(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task26 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task27(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task27 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task28(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task28 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task29(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task29 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task30(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task30 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task31(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task31 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task32(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task32 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task33(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task33 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}
}
void task34(void) {
	word_t fd;

	while(1) {
		if((fd = open("uart0")) != -1) {
		    write(fd, "task34 is running\n", 18);
		    close(fd);
        }
        osWait(56);
	}

⌨️ 快捷键说明

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