![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
freertos
文章平均质量分 71
一些要求实时性的程序则需要rtos操作系统来完成,可以最大程度的提升mpu的工作效率。
物联网工程狮小夏
这个作者很懒,什么都没留下…
展开
-
RTOS任务的挂起与恢复
因此,在实际应用中,可以通过挂起一些低优先级的任务来让高优先级的任务优先执行,以提高系统的响应速度。类似地,FreeRTOS也提供了vTaskResume()函数来恢复一个被挂起的任务,该函数也接受一个参数,即要恢复的任务的句柄。任务挂起指暂停一个任务的执行,任务恢复则是使一个被挂起的任务继续执行。‘实现结果:按键一直按下时,led任务被挂起,保留最后一次工作状态,按键松开,led任务被恢复,接着闪烁。按键任务,按键按下,挂起led任务,按键抬起,恢复led任务。实现功能:通过按键控制挂起正在执行的任务。原创 2024-01-29 22:04:58 · 381 阅读 · 0 评论 -
FreeRTOS任务的创建(动态方法和静态方法)
一、FreeRTOS任务基本概念任务(Task):FreeRTOS 中的任务是程序执行的基本单位。任务以优先级的方式管理,高优先级的任务比低优先级的任务更容易被执行。每个任务都具有不同的堆栈和一组标志,用于控制任务的行为和与其他任务和内核进行通信。二、动态创建任务1.TaskFunction_t pvTaskCode:任务函数的指针。这个参数是一个函数指针,指向一个任务的实际执行代码。原创 2024-01-29 20:51:01 · 991 阅读 · 0 评论 -
RTOS系统了解引入
------>任务其实不仅仅是一个函数,因为随时会发生任务的切换,所以在这里要保存各个任务他们的局部变量,否则当执行完别的函数回到刚才被打断的函数时,局部变量就会丢失,而局部变量的保存又是通过汇编指令保存到CPU的典型寄存器(R0到R15)当中,所以运行环境相当于这16个寄存器的值(当然还有别的寄存器),并且要”依次“保存在CPU的R13寄存器(栈)所指向的RAM的位置。-------->分支问题1:运行位置很好理解,就是被打断的时候函数执行的位置(当前指令PC的值),那什么是运行环境呢?原创 2024-01-29 20:28:59 · 268 阅读 · 0 评论