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

📄 task.c

📁 在M16上动行的Small RTOS
💻 C
字号:
#include "../CONFIG/config.h"


#define LED_PORT0	PORTB
#define LED_DDR0	DDRB
#define LED_PORT1	PORTD
#define LED_DDR1	DDRD

void Task0(void)
{
	LED_PORT0=0XFF;
	LED_DDR0=0XFF;
	LED_PORT1=0XFF;
	LED_DDR1=0XFF;


	while(1)
	{
	OSWait(K_TMO,OS_TICKS_PER_SEC/50);
	LED_PORT0^=_BV(0);				//20ms闪烁一次
	OSSendSignal(1);
	}
}


 void Task1(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		
	}
	LED_PORT0^=_BV(1);		//40ms闪烁一次
	OSSendSignal(2);
	}

 }

  void Task2(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		
		}
	LED_PORT0^=_BV(2);	//80ms闪烁一次
	OSSendSignal(3);
	}

 }

  void Task3(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		
		}
	LED_PORT0^=_BV(3);		//160ms闪烁一次
	OSSendSignal(4);
	}

 }

  void Task4(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		
		}
	LED_PORT0^=_BV(4);		//320ms闪烁一次
	OSSendSignal(5);
	}

 }
   void Task5(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		
		}
	LED_PORT0^=_BV(5);		//640ms闪烁一次
	OSSendSignal(6);
	}

 }

   void Task6(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		
		}
	LED_PORT0^=_BV(6);			//1.28s闪烁一次
	OSSendSignal(7);
	}

 }
    void Task7(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);	//2.56s闪烁一次	
		}
	LED_PORT0^=_BV(7);
	OSSendSignal(8);
	}

 }
    void Task8(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);	//5.12s闪烁一次	
		}
	LED_PORT1^=_BV(0);
	OSSendSignal(9);
	}

 }

     void Task9(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		//10.24s闪烁一次	
		}
	LED_PORT1^=_BV(1);
	OSSendSignal(10);
	}
}

     void Task10(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		//20.48s闪烁一次
		}
	LED_PORT1^=_BV(2);
	OSSendSignal(11);
	}
 }

 
     void Task11(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		//40.96s闪烁一次	
		}
	LED_PORT1^=_BV(3);
	OSSendSignal(12);
	}
 }



    void Task12(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		//81.92s闪烁一次	
		}
	LED_PORT1^=_BV(4);
	OSSendSignal(13);
	}
 }


   void Task13(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		//163.84s闪烁一次	
		}
	LED_PORT1^=_BV(5);
	OSSendSignal(14);
	}
 }

  void Task14(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		//327.68s闪烁一次	
		}
	LED_PORT1^=_BV(6);
	OSSendSignal(15);
	}
 }


 void Task15(void)
 {
 uint8 i;
		while(1)
	{
	for(i=0;i<2;i++)
		{
		OSWait(K_SIG,0);		//655.36s闪烁一次	
		}
	LED_PORT1^=_BV(7);

	}
 }

⌨️ 快捷键说明

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