野火电子论坛
标题:
FreeRTOS 任务调度不起来
[打印本页]
作者:
ID-nNngjx
时间:
2020-5-15 11:22
标题:
FreeRTOS 任务调度不起来
写了一个极简单的程序,控制一个LED灯的闪烁,Keil环境,使用FreeRTOS系统。烧录到板上后,发现LED灯没有按照预期的闪烁。任务应该是创建成功了,感觉好像是任务调度器没工作起来。请大家指导一下是啥原因。
#include "FreeRTOS.h"
#include "task.h"
#include "stm32f10x.h"
static void BSP_Init(void)
{
NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB, GPIO_Pin_0);
}
void LED_ON() //点亮LED
{
GPIO_ResetBits(GPIOB,GPIO_Pin_0);
}
void LED_OFF() //关闭LED
{
GPIO_SetBits(GPIOB,GPIO_Pin_0);
}
/*********************LED任务函数*************************/
static void LED_Task()
{
while (1)
{
LED_ON();
vTaskDelay(500);
LED_OFF();
vTaskDelay(500);
}
}
static TaskHandle_t LED_Task_Handle = NULL; //创建LED任务句柄
int main(void)
{
BaseType_t xReturn = pdPASS;
BSP_Init(); //初始化硬件
/**********************************创建LED任务***********************************/
xReturn = xTaskCreate((TaskFunction_t )LED_Task, //任务入口函数
(const char* )"LED_Task", //任务名称
(uint16_t )512, //任务栈大小
(void* )NULL, //任务入口函数参数
(UBaseType_t )1, //任务的优先级
(TaskHandle_t* )&LED_Task_Handle); //任务控制块指针
if(pdPASS == xReturn)
{
vTaskStartScheduler(); //启动任务调度器
}
else
return -1;
while(1);
}
作者:
lx12138
时间:
2020-5-20 00:08
用串口输出 看看哪里没有成功
作者:
sunhuayang
时间:
2020-6-9 17:47
去掉行尾的while(1);
作者:
ba_wang_mao
时间:
2020-6-12 08:55
sunhuayang 发表于 2020-6-9 17:47
去掉行尾的while(1);
if(pdPASS == xReturn)
{
vTaskStartScheduler(); //启动任务调度器
}
如果调度成功,程序是不会走到行尾的while(1);的
是其它原因导致的
作者:
ba_wang_mao
时间:
2020-6-12 08:58
参见:
FreeRTOS和FreeMODBUS移植到STM32F407傻瓜教程(Keil5)
链接为
https://download.csdn.net/download/ba_wang_mao/12054262
FreeRTOS和FreeMODBUS移植到STM32F103傻瓜教程(Keil5)
链接为
https://download.csdn.net/download/ba_wang_mao/12054217
手把手教你一步步移植成功,图文并茂。先从大的方向讲解应该如何移植,要移植哪些,然后着重将移植过程中感到困惑的、容易忽略的地方进行了讲解,每一步关键点都有截屏。
作者:
林李
时间:
2020-10-30 20:04
xtaskcreat返回值不是任务句柄
欢迎光临 野火电子论坛 (https://www.firebbs.cn/)
Powered by Discuz! X3.4