新手上路
- 积分
- 35
- 金钱
- 35
- 注册时间
- 2020-2-21
- 在线时间
- 6 小时
|
完全按照文档来的,用的是demo的freertosconfig.h
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "FreeRTOS.h"
#include "task.h"
#define START_TASK_PRIO 2 //?????
#define START_STK_SIZE 128 //??????
TaskHandle_t StartTask_Handler; //????
void start_task(void *pvParameters); //????
#define LED0_TASK_PRIO 3 //?????
#define LED0_STK_SIZE 150 //??????
TaskHandle_t LED0Task_Handler; //????
void led0_task(void *p_arg); //????
int main(void)
{
// u16 t;
// u16 len;
// u16 times=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏè¼¶£¬2λÏìó|óÅÏè¼¶
delay_init(); //Ñóê±oˉêy3õê¼»ˉ
uart_init(115200); //′®¿ú3õê¼»ˉÎa115200
xTaskCreate((TaskFunction_t )start_task, //????
(const char* )"start_task", //????
(uint16_t )START_STK_SIZE, //??????
(void* )NULL, //??????????
(UBaseType_t )START_TASK_PRIO, //?????
(TaskHandle_t* )&StartTask_Handler); //????
vTaskStartScheduler();
// while(1)
// {
// if(USART_RX_STA&0x8000)
// {
// len=USART_RX_STA&0x3fff;//μÃμ½′Ë′νóêÕμ½μÄêy¾Y3¤¶è
// printf("\r\nÄú·¢ËíμÄÏûÏ¢Îa:\r\n\r\n");
// for(t=0;t<len;t++)
// {
// USART_SendData(USART2, USART_RX_BUF[t]);//Ïò′®¿ú1·¢Ëíêy¾Y
// while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//μè′y·¢Ëí½áêø
// }
// printf("\r\n\r\n");//2åèë»»DD
// USART_RX_STA=0;
// }else
// {
// times++;
// if(times%100==0)
// {
// printf("\r\n¾«ó¢STM32¿a·¢°å ′®¿úêμÑé\r\n");
// printf("ÕyμãÔ-×ó@ALIENTEK\r\n\r\n");
// }
// if(times%20==0)printf("Çëêäèëêy¾Y,òÔ»Ø3μ¼ü½áêø%d\n",times);
// delay_ms(10);
// }
// }
}
void start_task(void *pvParameters)
{
taskENTER_CRITICAL(); //?????
//?? LED0 ??
xTaskCreate((TaskFunction_t )led0_task,
(const char* )"led0_task",
(uint16_t )LED0_STK_SIZE,
(void* )NULL,
(UBaseType_t )LED0_TASK_PRIO,
(TaskHandle_t* )&LED0Task_Handler);
vTaskDelete(StartTask_Handler); //??????
taskEXIT_CRITICAL(); //?????
}
void led0_task(void *pvParameters)
{
while(1)
{
vTaskDelay(500);
}
}
|
|