新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2018-10-19
- 在线时间
- 6 小时
|
1金钱
如题 代码我用的是提供的代码就主函数稍微改了一点点, 但是在做的这个任务创建的试验中 下载到32里 串口接收不到数据 当debug后 串口马上显示数据了。。。这是为什么?
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "FreeRTOS.h"
#include "task.h"
/************************************************
ALIENTEK 阿波罗STM32F429开发板 FreeRTOS实验2-1
FreeRTOS移植实验-HAL库版本
技术支持:www.openedv.com
淘宝店铺:http://eboard.taobao.com
关注微信公众平台微信号:"正点原子",免费获取STM32资料。
广州市星翼电子科技有限公司
作者:正点原子 @ALIENTEK
************************************************/
#define START_STK_SIZE 120
#define START_TASK_PRIO 1//
TaskHandle_t StartTask_Handler;
#define TASK1_TASK_PRIO 2
//任务堆栈大小
#define TASK1_STK_SIZE 120
//任务句柄
TaskHandle_t TASK1Task_Handler;
//任务函数
//任务优先级
#define TASK2_TASK_PRIO 3
//任务堆栈大小
#define TASK2_STK_SIZE 120
TaskHandle_t TASK2Task_Handler;
void TASK1_task(void *pvParameters);
void TASK2_task(void *pvParameters);
TaskHandle_t StartTask_Handler;
void start_task( void * pvParameters );
TaskHandle_t StartTask_Handler;//任务句柄
int main(void)
{
HAL_Init(); //初始化HAL库
Stm32_Clock_Init(360,25,2,8); //设置时钟,180Mhz
delay_init(180); //初始化延时函数
LED_Init(); //初始化LED
uart_init(115200); //初始化串口
//创建开始任务
xTaskCreate( (TaskFunction_t) start_task,
( char * ) "start_task",
( uint16_t) START_STK_SIZE ,
(void * ) NULL,
(UBaseType_t) START_TASK_PRIO,
(TaskHandle_t *) &StartTask_Handler );
vTaskStartScheduler(); //开启任务调度
}
void start_task( void * pvParameters )//任务函数
{//创建Task1
// xTaskCreate( (TaskFunction_t) start_task,
// ( char * ) "start_task",
// (const uint16_t) START_STK_SIZE ,
// (void * const ) NULL,
// (UBaseType_t) START_TASK_PRIO,
// (TaskHandle_t *) &StartTask_Handler );
xTaskCreate((TaskFunction_t )TASK1_task,
(const char* )"TASK1_task",
(uint16_t )TASK1_STK_SIZE,
(void* )NULL,
(UBaseType_t )TASK1_TASK_PRIO,
(TaskHandle_t* )&TASK1Task_Handler);
//创建LED1任务
xTaskCreate((TaskFunction_t )TASK2_task,
(const char* )"TASK2_task",
(uint16_t )TASK2_STK_SIZE,
(void* )NULL,
(UBaseType_t )TASK2_TASK_PRIO,
(TaskHandle_t* )&TASK2Task_Handler);
vTaskDelete(StartTask_Handler);
}
void TASK1_task( void * pvParameters )
{
while(1)
{
printf("task1");
LED0=~LED0;
vTaskDelay(500);
}
}
void TASK2_task( void * pvParameters )
{
while(1)
{
printf("task2");
LED1=0;
vTaskDelay(200);
LED1=1;
vTaskDelay(800);
}
}
|
-
-
|