📄 main.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 + -