(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】

文章目录

  • 其他文章链接,独家吐血整理
  • 1、视频笔记(可结合其它文章链接理解)


其他文章链接,独家吐血整理

【吐血总结】FreeRTOS难点、Systick中断-滴答定时器、PendSV中断-任务切换、SVC中断-系统底层、时间片调度-时钟节拍【已完结】
(第1-8讲)STM32F4单片机,FreeRTOS基础知识总结【视频笔记、代码讲解】【正点原子】【原创】
(第9-10讲)STM32F4单片机,FreeRTOS任务创建和删除(动态方法)【视频笔记、代码讲解】【正点原子】【原创】
(第12讲)STM32F4单片机,FreeRTOS任务创建和删除(静态方法)【视频笔记、代码讲解】【正点原子】【原创】
(第13-14讲)STM32F4单片机,FreeRTOS任务挂起和恢复【视频笔记、代码讲解】【正点原子】【原创】
(第16-17讲)STM32F4单片机,FreeRTOS中断管理简介【视频笔记、代码讲解】【正点原子】【原创】
(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】
(第20-22讲)STM32F4单片机,FreeRTOS列表和列表项API函数讲解【视频笔记、代码讲解、正点原子】【原创】
(第34-36讲)FreeRTOS消息队列知识汇总【B站UP、硬件家园、普中科技、正点原子】【视频笔记】【原创】
(第40-44讲)STM32F4单片机,FreeRTOS信号量【二值、计数、翻转、互斥】【代码讲解】【正点原子】【原创】

1、视频笔记(可结合其它文章链接理解)

(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第1张图片
中断和任务调度可以打断程序的运行,当freertos关闭中断和任务调度器中断时,程序就不会被打断了,freertos只能管理5-15级的中断,0-4级的优先级中断freertos无法管理(依然可以打断程序)
(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第2张图片
(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第3张图片
其实我没太懂这个意思,绿色这个变量就是支持嵌套的意思,当开临界区调用一个关中断api函数时,绿色变量+1,调用3次为3,当关临界区时判断这个绿色变量,必须关三次,才会进入关闭中断api函数
(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第4张图片
任务调度器的挂起不影响中断
(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第5张图片
那这里写的之前的注释是有问题的,因为,vTaskDelay函数里面有挂起函数(和解挂同时使用),它不影响定时器7和定时器x中断,它会影响任务切换,即它会使task1挂起,即task1任务延时了1000ms

!!!没太听明白,以后再补

(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第6张图片
调度挂起计数变量++,PendSV中断(优先级14)和SysTick滴答定时器中断(优先级15)

(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第7张图片
红色是sys定时器中断的函数,里面绿色上面的if是pendsv中断触发的条件,这个if函数会不会进入跟if条件有关,这个if条件默认是不会进入的,即不会触发pendsv中断,即不会任务切换,即任务暂时被挂起了

还是没太明白

(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】_第8张图片
难难难难难啊

你可能感兴趣的:(学校-UCOS/RTOS学习,单片机,stm32,嵌入式硬件)