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

📄 main.c

📁 1 本程序是我自己移植
💻 C
字号:
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : main.c
* Author             : Jun Yao
* Email							 : nter@tom.com
* Version            : V1.0
* Date               : 07/22/2008
* Description        : Main program body
********************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "config.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define TASK_STK_SIZE	128

/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
INT32U STK_TASK_MAIN[TASK_STK_SIZE];
INT32U STK_TASK_LED[TASK_STK_SIZE];

/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : InitSysTick
* Description    : 
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void InitSysTick(void)
{
	/* SysTick end of count event each 1ms with input clock equal to 9MHz (HCLK/8, default) */
  SysTick_SetReload(9000);

  /* Enable SysTick interrupt */
  SysTick_ITConfig(ENABLE);
	
	/* Enable the SysTick Counter */
  SysTick_CounterCmd(SysTick_Counter_Enable);
}

/*******************************************************************************
* Function Name  : MainTask
* Description    : Main Task
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void LedTask(void *pd)
{
	while(1)
	{
		OSTimeDly(500);
		led_on(LED_1);
		led_off(LED_2);
		OSTimeDly(500);
		led_on(LED_2);
		led_off(LED_1);
	}
}

/*******************************************************************************
* Function Name  : MainTask
* Description    : Main Task
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void MainTask(void *pd)
{
#ifdef DEBUG
  debug();
#endif

  /* System Clocks Configuration */
  RCC_Configuration();
       
  /* NVIC configuration */
  NVIC_Configuration();

  /* Configure the GPIO ports */
  GPIO_Configuration();

	InitSysTick();
	
	OSStatInit();

	OSTaskCreate(LedTask,    (void *)0,(OS_STK *)&STK_TASK_LED[TASK_STK_SIZE-1],  19);
	
	while(1)
	{
		OSTimeDly(100);
	}
}
/*******************************************************************************
* Function Name  : main
* Description    : Main program
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
int main(void)
{
	OSInit();
	OSTaskCreate(MainTask,    (void *)0,(OS_STK *)&STK_TASK_MAIN[TASK_STK_SIZE-1],  20);
	OSStart();
}

⌨️ 快捷键说明

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