2021-09-27

freertos菜鸟学习踩坑记录
9.27 点灯实验失败原因
1、任务名复制从start过来忘了改
2、定义任务句柄,错误,多加了个指针。

stm32处于运行态的任务只有一个。
任务调用vtaskdelay之后进入阻塞态,直到延时周期完成。

freertos 任务函数
freertos任务函数模式
大循环for中要有的东西:
具体任务代码
能使freertos发生任务切换的api函数。如delay ,请求信号量,队列,甚至任务调度器。
*这里不是很理解,就比如点灯实验里,我的理解是,两个led为两个任务,优先级为2和3,具体的执行过程:
优先级高的task1先执行,电平反转,之后调用delay,进入阻塞态,此时优先级低的task2执行 进入运行态,电平翻转,随后调用delay,进入阻塞态,延时时间结束再进入原程序执行,也就是说并非是同时执行,其中是有一个电平翻转的时间差?
那么rtos与裸机的差别也就在 delay之后,裸机是顺序执行任务,只能被中断打断,中断结束后也是回到原任务中,而rtos则是在delay之后任务进入阻塞态,重新按优先级进行任务分配?这是我目前认识到的差别,随着学习的深入,期待更深的理解。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值