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

📄 main.c

📁 在STR712上的UCOS
💻 C
字号:
#include "LED.h"
#include "Key.h"
//#include "LCD.h"
#include <ucos_ii.h>

#define STKSIZE 128

OS_STK Stack1[STKSIZE], Stack2[STKSIZE], Stack3[STKSIZE], Stack4[STKSIZE];

void Task1(void *arg)
{
	while(1)
	{
		LED_Set(LED3,GPIO1, LED_TOGGLE);
		OSTimeDly(12);
	}
}

void Task2(void *arg)
{
	while(1)
	{
		LED_Set(LED4,GPIO1, LED_TOGGLE);
		OSTimeDly(25);
	}
}

void Task3(void *arg)
{
	while(1)
	{
		LED_Set(LED5,GPIO0, LED_TOGGLE);
		OSTimeDly(51);
	}
}
void Task4(void *arg)
{
	while(1)
	{
		LED_Set(LED6,GPIO0, LED_TOGGLE);
		OSTimeDly(102);
	}
}


void Main(void)
{
	#ifdef DEBUG
		debug();
	#endif

	RCCU_Div2Config(ENABLE);						// Enable DIV2
	RCCU_MCLKConfig(RCCU_DEFAULT);					// Configure MCLK = RCLK
	RCCU_FCLKConfig(RCCU_RCLK_8);					// Configure FCLK = RCLK / 8
	RCCU_PCLKConfig(RCCU_RCLK_8);					// Configure PCLK = RCLK / 8
	RCCU_PLL1Config(RCCU_Mul_12 , RCCU_Div_2) ;		// Configure the PLL1 ( * 12 , / 2 )
	while(RCCU_FlagStatus(RCCU_PLL1_LOCK) == RESET);// Wait PLL to lock
	RCCU_RCLKSourceConfig(RCCU_PLL1_Output);		// Select PLL1_Output as RCLK clock
	// at this step the CKOUT signal should be equal to 48 Mhz

	EIC_Init();
	LED_Init();
	//Key_Init();



	RTC_PrescalerConfig(256);
	RTC_FlagClear(RTC_OWIR);
	RTC_FlagClear(RTC_AIR);
	RTC_FlagClear(RTC_SIR);
	RTC_FlagClear(RTC_GIR);

	EIC_IRQChannelConfig(RTC_IRQChannel, ENABLE);
	EIC_IRQChannelPriorityConfig(RTC_IRQChannel, 1);
	EIC_IRQConfig(ENABLE);

	RTC_ITConfig(RTC_SIT | RTC_GIT, ENABLE);

	LED_Set(LED3,GPIO1,LED_ON);
	LED_Set(LED4,GPIO1,LED_ON);
	LED_Set(LED5,GPIO0,LED_ON);
    LED_Set(LED6,GPIO0,LED_ON);


    
	OSInit();


    OSTaskCreate(Task1, 0, Stack1 + (STKSIZE - 1), 1);
	OSTaskCreate(Task2, 0, Stack2 + (STKSIZE - 1), 2);
	OSTaskCreate(Task3, 0, Stack3 + (STKSIZE - 1), 3);
    OSTaskCreate(Task4, 0, Stack4 + (STKSIZE - 1), 4);


	OSStart();
}

⌨️ 快捷键说明

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