FreeRTOS之学习延时的困惑

白小白ani 2017-12-13 09:52:44
最近在学习,FreeRTOS,看到延时这里的时候总有些想不通,所以来此提问希望大家指教。
一、vTaskDelete()是相对延时,是相对与xTickCount(Systick的中断计数)来延时的,所以要依靠systick中断计数准确才能延时准确,那么问题来了,如果在一个任务中调用了vTaskDelete(),systick的计数周期是1ms,当任务正在发生时,有一个高优先级的中断发生,高优先级的中断处理需要5ms(夸张一点),那么此时延时还会准确么?在任务的切换和调度中也有许多进入临界和关中断的地方,这些地方的执行会不会影响延时呢??

二、vTaskDelayUntil()是绝对式延时,是相对与*pxPreviousWakeTime的延时,而且是每次执行完vTaskDelayUntil()自动更新,所以就可以做到固定频率执行了,但是还是向上面说的那样,如果在一个任务中调用了vTaskDelete(),systick的计数周期是1ms,当任务正在发生时,有一个高优先级的中断发生,高优先级的中断处理需要5ms(夸张一点),那么此时延时还会准确么?在任务的切换和调度中也有许多进入临界和关中断的地方,这些地方的执行会不会影响延时呢??虽然在下面的图片上说会压缩其他任务的时间,这是压缩的时间是如何同步的呢?


以上图片的连接来源:http://blog.csdn.net/cheatscat/article/details/78113726
这里有不是很明白希望大家答疑解惑,小弟谢谢了
...全文
1938 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
software工程师 2018-02-05
  • 打赏
  • 举报
回复
从延迟精准度来说,sys tick是1ms,那你延迟的预期精度就不能低于1ms,这和os没有关系。 而从vTaskDelayUntil()函数本身来说,os已经帮你做到精确的周期延迟,无论中间是否有上下文切换(包括interrupt和task)
IOTzhang 2018-01-29
  • 打赏
  • 举报
回复
老哥~vTaskDelete()是用来删除任务的~并不是延时功能啊~ 应该是vTaskDelay()吧。
1.1 课程内容嵌入式软件工程师的学习路线一般是:单片机、RTOS、Linux。当你掌握单片机开发后,如果要进一步提升编程水平,建议学习RTOS(Real Time Operating System,实时操作系统)。有很多优秀的RTOS,比如FreeRTOS、RT-Thread、UCOS等等。FreeRTOS使用范围最广泛,RT-Thread生态丰富,UCOS是收费的并且很少使用了。对于初学者,建议先学习FreeRTOS。只要学会了任意一款RTOS,肯定就会使用其他RTOS了。我们在2022年已经推出了“FreeRTOS快速入门”课程。为何还要重新制作“FreeRTOS入门与工程实践”?“FreeRTOS快速入门”只是讲解FreeRTOS的各类API的理论、用法、示例,这些实验是基于Keil自带的STM32F103模拟器。没有使用更多的硬件模块、不能体现工作中的实际场景。在“FreeRTOS入门与工程实践”,将引入更多的硬件模块,并展示实际工程示例中的用法。另外,基于RTOS的程序一般都比较复杂,涉及的源文件非常多,在工作中一般都基于“面向对象”的思想来写程序。所以,本课程会涉及如下内容:讲解FreeRTOS的常用API:理论、用法选择合适的硬件模块,展示这些API的实例实现合适的小项目,展示工作中的编程方法1.2 讲课方式对于每一个实验,我们会精心设计:要解决什么问题;然后讲解FreeRTOS提供的解决方法。讲解FreeRTOS的API及内部原理(不深入讲解内部源码,只是进行原理性介绍)讲解实验过程使用的模块的接口函数(只讲使用,不讲内部实现,模块的源码实现单独开课讲解)讲解原理时,配合着文档、现场画图进行讲解,跟学校老师写黑板一样最后现场从0编写程序并调试一切都是现场操作,绝对不会照着PPT念,绝对不会照着现成的代码讲解。只有现场从0操作,学员才能身临其境地学习,跟着教程:碰到问题、解决问题。1.3 硬件平台本课程基于DshanMCU-103开发套件进行开发,它由3部分组成:STM32F103C8T6的最小系统板、扩展底板、各类模块。如下图所示:  上述硬件再加一个ST-Link即可学完本课程所有内容。主板DshanMCU-103是基于STM32F103C8T6的最小系统板。之所以选择最小系统板,而不是把所有模块都放在一个整体的电路板上,目的如下:低成本尝试:嵌入式软件开发并不一定适合你,可以购买最小系统板进行体验、及时放弃按需购买:用到再买,讲究一个性价比 

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧