蓝桥杯开发板STM32G431RBT6高阶HAL库学习FreeRtos——完成第一个小项目点灯

一、配置LED引脚(注意引脚都配置为高电平)

在这里插入图片描述

二、新建两个任务,一个为动态创建,一个静态创建(以后大多数情况进行动态创建)//将两个优先级设置成一样

在这里插入图片描述

在这里插入图片描述
补充:

1.FreeRTOS创建静态任务和动态任务的各自优缺点

静态任务和动态任务的区别,就是一个需要自己建立堆栈,一个不需要自己建立堆栈。
稳定肯定是静态创建高,但是耗内存!任务删除以后这段内存没法释放掉,就只能浪费掉!
动态创建方法可能因为内存不足或者碎片话的情况下导致任务创建失败。

2.任务栈大小

usStackDepth,栈大小,每创建一个任务,系统就会为该任务分配一块内存(堆栈)
单位是字(word),而不是字节(Byte)
在32位机中 (STM32xx)1 word = 4Byte,分配的空间就是stackSize = usStackDepth * 4
默认最小栈大小 configMINIMAL_STACK_SIZE(128

3.任务优先级

优先级必须比这个宏要小,数字越小,优先级越低,与中断相反的(中断数字越小,优先级越高)
configMAX_PRIORITIES 宏大小可随意,这里配置的是32,但最好使用实际需要的最小数值以避免内存浪费
FreeRTOS理论上可支持无限个任务。
如果优先级设置的比configMAX_PRIORITIES 大,会将优先级自动设置为最大优先级configMAX_PRIORITIES

————————————————

保存并生成项目

三、分析代码

3.1 查看FREERTOS初始化函数

在这里插入图片描述

3.2 两个任务创建函数

在这里插入图片描述

3.2 在两个任务函数编写代码(任务一:LED1每隔一秒闪烁,任务二:LED2每隔一秒闪烁)

在这里插入图片描述

3.3 烧录查看效果

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会翻身的嵌入式咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值