FreeRTOS学习笔记(1)——任务的创建

1. CubeMx配置

  1. 配置好系统时钟之后
  2. 更换时钟源
    在这里插入图片描述
    最好用功能较少的定时器,这样可以节省宝贵资源
  3. 打开freertos
    在这里插入图片描述
  4. 默认的配置都不用改,增加任务
    在这里插入图片描述
  5. 修改栈的大小
    在这里插入图片描述

2. 代码编写

在这里插入图片描述
可以看到freertos.c文件下有两个task函数,对里面进行编辑即可
在这里插入图片描述

3. 体会

  • 在之前的学习中,我认为的是:多线程就像是一个定时器中断,优先级高的去打断优先级低的,随后放进主线程里面进行工作,所以不引入操作系统的话有多少个定时器就有多少个task,所以这样的想法也没办法解决如果我要边播放bgm边进行游戏的操作,因为无论如果你的延时也会卡在延时里面,这跟轮询差不多,只是可以根据特定的条件去调整时序,反而像之前训练营作业的用户交互,通过死循环和break实现
  • 但是这次的学习中,我发现用了操作系统的时候两个灯可以同时在闪烁,跟自己把两个闪烁的任务复制进去主循环是不一样的,所以猜想是:多线程中延迟时会把任务挂起,随后其他的操作去抢占主线程然后执行应该执行的东西
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值