📄 main.c
字号:
#include <jacos.h>
#include <jamain.h>
OST_TASK_T task1,task3,task5;
OST_TASK task2,task4,task6,task7,task8,task9,task10;
OST_TASK task11,task12,task13,task14,task15,task16;
OST_EVENT semaphore1,message1,flags;
OST_EVENT semaphore2,message2;
unsigned int counter;
__task void T1( void )
{
while(1) {
counter++;
OS_Delay(10);
counter++;
OS_Post_BSem(&semaphore1);
OS_Delay(10);
counter++;
OS_Post_BSem(&semaphore2);
OS_Delay(10);
counter++;
OS_Post_Msg(&message1,&counter);
OS_Delay(10);
counter++;
OS_Post_Msg(&message2,&counter);
OS_Delay(10);
counter++;
OS_Set_Flag(&flags,0x01);
OS_Delay(10);
counter++;
OS_Set_Flag(&flags,0x02);
}
}
__task void T2( void )
{
while(1) {
counter++;
OS_Wait_Sem(&semaphore1);
counter++;
OS_Cooperate();
}
}
__task void T3( void )
{
while(1) {
counter++;
OS_Wait_SemT(&semaphore2,14);
counter++;
OS_Cooperate();
}
}
__task void T4( void )
{
OST_MSG_P msg;
while(1) {
counter++;
OS_Wait_Msg(&message1,msg);
counter++;
OS_Cooperate();
}
}
__task void T5( void )
{
OST_MSG_P msg;
while(1) {
counter++;
OS_Wait_MsgT(&message2,msg,8);
counter++;
OS_Cooperate();
}
}
__task void T6( void )
{
while(1) {
counter++;
OS_Wait_Flag(&flags,0x03);
OS_Clear_Flag(&flags,0x03);
counter++;
OS_Cooperate();
}
}
__task void T7( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T8( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T9( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T10( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T11( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T12( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T13( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T14( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T15( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
__task void T16( void )
{
while(1) {
counter++;
OS_Cooperate();
}
}
void main(void)
{
OS_Init();
OS_Task_Create(T1, &task1,1);
OS_Task_Create(T2, &task2,0);
OS_Task_Create(T3, &task3,0);
OS_Task_Create(T4, &task4,0);
OS_Task_Create(T5, &task5,0);
OS_Task_Create(T6, &task6,0);
OS_Task_Create(T7, &task7,0);
OS_Task_Create(T8, &task8,0);
OS_Task_Create(T9, &task9,0);
OS_Task_Create(T10,&task10,0);
OS_Task_Create(T11,&task11,0);
OS_Task_Create(T12,&task12,0);
OS_Task_Create(T13,&task13,0);
OS_Task_Create(T14,&task14,0);
OS_Task_Create(T15,&task15,0);
OS_Task_Create(T16,&task16,0);
OS_Sem_Create(&semaphore1,0);
OS_Sem_Create(&semaphore2,0);
OS_Msg_Create(&message1,0);
OS_Msg_Create(&message2,0);
OS_Flag_Create(&flags,0);
PR2 = OS_TMR_TICK;
INTCON = 0b11000000;
TMR2IE = 1;
TMR2IF = 0;
T2CON = 0b00000110;
// __CONFIG(2,WDTDIS);
while(1) {
OS_Scheduler();
}
}
interrupt void intr(void)
{
/*if ( OS_Is_Timer()){}*/
OS_Timer_Tick_Set();
OS_Timer();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -