FreeRTOS移植并实现一个多任务程序

打开CubeMX,点击如图

输入自己的芯片型号,我这里是STM32F103C8T6

选择好后点击start project

依次改为

依次改为

依次改为

在这里把频率改为72MHz

用keil的改成MDK_ARM

勾上

生成代码即可


下面教学创建一个多任务程序

在main函数的MX_FREERTOS_Init()调用之前写好你的初始化

这些代码我都放在main函数上面了,这样就创建好了两个任务,这里注意了!栈大小不要太大,我亲测两个任务栈大小都设置为512的话只会运行一个任务,后面都设置为128才正常运行的,句柄可有可没有

cpp 复制代码
void led_init(void)
{
    __HAL_RCC_GPIOB_CLK_ENABLE();
    GPIO_InitTypeDef GPIOBInit;
    GPIOBInit.Mode = GPIO_MODE_OUTPUT_PP;
    GPIOBInit.Pin = GPIO_PIN_10;
    GPIOBInit.Pull = GPIO_PULLUP;
    GPIOBInit.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOB,&GPIOBInit);
}

void led_on(void)
{
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET);
}

void led_off(void)
{
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET);
}

void led_turn(void)
{
    HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_10);
}
void led1_init(void)
{
    __HAL_RCC_GPIOB_CLK_ENABLE();
    GPIO_InitTypeDef GPIOBInit;
    GPIOBInit.Mode = GPIO_MODE_OUTPUT_PP;
    GPIOBInit.Pin = GPIO_PIN_11;
    GPIOBInit.Pull = GPIO_PULLUP;
    GPIOBInit.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOB,&GPIOBInit);
}
void led1_on(void)
{
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_RESET);
}

void led1_off(void)
{
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_SET);
}

void led1_turn(void)
{
    HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_11);
}
TaskHandle_t myTaskHandler;
void myTask ( void * arg)
{
    while(1)
    {
        led_turn();
        vTaskDelay(500);
    }
}
TaskHandle_t myTask1Handler;
void myTask1 ( void * arg)
{
    while(1)
    {
        led1_turn();
        vTaskDelay(500);
    }
}
相关推荐
菲子叭叭13 分钟前
【STM32】WIFI
网络·stm32
代码总长两年半29 分钟前
STM32---FreeRTOS内存管理实验
stm32·单片机·嵌入式硬件
Do vis8242 小时前
stm32第六天继电器
单片机·嵌入式硬件
charlie1145141912 小时前
单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析
stm32·单片机·嵌入式硬件·学习·教程
不不不丶2 小时前
STM32——WWDG(窗口看门狗)
笔记·stm32·单片机·嵌入式硬件
Electron-er3 小时前
STM32 DAC详解:从原理到实战输出正弦波
stm32·单片机·嵌入式硬件
阿巴~阿巴~5 小时前
STM32 —— 嵌入式系统、通用计算机系统、物联网三层架构
stm32·单片机·嵌入式硬件·物联网·架构
不知真不只5 小时前
单片机之STC8951学习
单片机·嵌入式硬件
Ronin-Lotus5 小时前
嵌入式硬件篇---PWM输出通道&定时器
stm32·单片机·嵌入式硬件·c·定时器·pwm
别说我什么都不会5 小时前
OpenHarmony源码分析之分布式软总线:trans_service/message.c文件分析
分布式·嵌入式·harmonyos