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);
    }
}
相关推荐
Natsume17101 小时前
嵌入式开发:GPIO、UART、SPI、I2C 驱动开发详解与实战案例
c语言·驱动开发·stm32·嵌入式硬件·mcu·架构·github
MeshddY2 小时前
(超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)
c语言·数据库·单片机
m0_555762902 小时前
STM32常见外设
stm32·单片机·嵌入式硬件
森焱森2 小时前
无人机三轴稳定化控制(1)____飞机的稳定控制逻辑
c语言·单片机·算法·无人机
循环过三天2 小时前
3-1 PID算法改进(积分部分)
笔记·stm32·单片机·学习·算法·pid
东风点点吹4 小时前
STM32F103的boot跳转APP不成功问题排除
stm32·单片机·嵌入式硬件
糖果罐子♡5 小时前
MQTT 入门指南(一)
物联网·mqtt·嵌入式·通信协议
猫猫的小茶馆6 小时前
【STM32】预分频因子(Prescaler)和重装载值(Reload Value)
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
三万棵雪松8 小时前
【STM32HAL-第1讲 基础篇-单片机简介】
stm32·单片机·嵌入式硬件
玉树临风江流儿8 小时前
炸鸡派-基础测试例程
单片机·嵌入式硬件