
FreeRTOS
文章平均质量分 77
ChengZhou1
好好学习,天天向上!
展开
-
【STM32/FreeRTOS】精准延时的实现
目录前言SysTick定时器寄存器裸机编程下实现FreeRTOS中实现前言 在使用通讯协议来驱动外设的时候需要遵循严格的时序逻辑,往往用到微秒(us)级别的延时,在裸机编程中可以使用SysTick定时器来实现;在FreeRTOS中,SysTick定时器则是用来作为FreeRTOS系统时钟的,但也可以用来做延时使用,只是与裸机编程下方式不同。SysTick定时器寄存器 要使用SysTick定时器,首先要了解一下其相关寄存器。裸机编程下...原创 2021-08-25 19:23:10 · 12745 阅读 · 7 评论 -
【FreeRTOS】任务调度与任务切换
目录一、任务调度二、任务切换三、关于PendSV一、任务调度 在创建好任务函数后,需要调用函数vTaskStartScheduler()开启任务调度器,创建的任务在调度器的调度下执行。 开启任务调度器函数为:vTaskStartScheduler(); //开启任务调度该任务会创建一个函数名为prvIdleTask()的空闲任务,以及完成相关硬件初始化,如SysTick定时器、FPU(浮点运算)单...原创 2021-08-21 19:07:24 · 1217 阅读 · 0 评论 -
【FreeRTOS】中断与临界段
目录一、Cortex-M中断1、中断简介2、中断优先级3、中断屏蔽寄存器(1)PRIMASK和FAULTMASK寄存器(2)BASEPRI寄存器(重点)二、FreeRTOS的中断1、相关宏配置2、FreeRTOS开关中断三、临界段代码1、进入临界段函数2、退出临界段3、用法一、Cortex-M中断1、中断简介Cortex-M内核MCU提供了一个用于中断管理的嵌套向量中断控制器(NVIC),M3、M4的NVIC最多支持240个中断...原创 2021-08-20 20:25:18 · 1493 阅读 · 0 评论 -
【FreeRTOS】软件定时器
目录一、软件定时器简介二、单次定时器与周期定时器三、定时器相关的宏设置四、常用API函数1、创建定时器(1)动态方法(1)静态方法2、开启定时器(1)任务级(2)中断级3、复位定时器(1)任务级(2)中断级4、停止定时器(1)任务级(2)中断级五、定时器使用案例一、软件定时器简介定时器是MCU的外设,硬件定时器不仅仅能用来定时,还能用作PWM输出、输入捕获等功能,其功能强大。但是硬件定时器是有限个数的,不同型...原创 2021-08-19 22:36:27 · 889 阅读 · 1 评论 -
【FreeRTOS】事件标志与任务通知
目录一、事件标志组1、创建事件标志组(1)动态方法(2)静态方法2、设置标志位(1)清零操作(2)置位操作3、获取事件标志组值(1)任务级(2)中断级4、等待指定的事件位二、任务通知1、发送通知函数(1)函数xTaskNotify()(2)函数xTaskNotifyFromISR()(3)函数xTaskNotifyGive()(4)函数vTaskNotifyGiveFromISR()(5)函数xTaskNotify...原创 2021-08-15 23:28:05 · 1452 阅读 · 1 评论 -
【FreeRTOS】信号量
目录一、信号量二、二值信号量1、创建二值信号量(1)动态创建(2)静态创建2、释放信号量(1)任务级(2)中断级2、获取信号量(1)任务级(2)中断级三、计数型信号量1、创建计数型信号量(1)动态方法(2)静态方法2、释放和获取计数信号量四、互斥信号量1、创建互斥信号量(1)动态方法(2)静态方法2、释放和获取互斥信号量五、递归互斥信号量1、创建递归互斥信号量(1)动态方法(2)静态方法2、释放递归互原创 2021-08-14 23:10:35 · 1500 阅读 · 0 评论 -
【FreeRTOS】消息队列及相关API函数
目录一、消息队列简介消息队列的运作过程:二、消息队列常用相关函数1、队列创建(1)动态创建xQueueCreate()(2)静态创建xQueueCreateStatic()(3)函数xQueueGenericCreate()2、队列删除函数3、入队函数(1)任务级入队函数(2)中断级入队函数4、出队函数(1)任务级(2)中断级一、消息队列简介消息队列是FreeRTOS中一种常用于任务间通信的数据结构,可以在任务与任务间、中断...原创 2021-08-13 15:35:34 · 1035 阅读 · 0 评论 -
【STM32/FreeRTOS】SysTick定时器及FreeRTOS系统节拍
目录一、SysTick定时器1、SysTick寄存器介绍(1)控制及状态寄存器(2)重装载数值寄存器(3)当前数值寄存器2、SysTick寄存器配置函数二、FreeRTOS中的SysTick定时器1、SysTick配置函数及分析2、SysTick中断函数一、SysTick定时器SysTick系统定时器是属于内核中的一个外设,内嵌在NVIC中。该定时器是一个24位的向下递减的计数器。在裸机编程中常用做延时函数,而在FreeRTOS中则用来给系统提...原创 2021-08-10 21:21:29 · 10851 阅读 · 2 评论 -
【FreeRTOS】任务及相关常用API函数
一、任务状态在FreeRTOS系统中,每个任务都在多种任务状态中来回切换。1、就绪态处于就绪态的任务以及具备执行条件,等待任务调度器调度即可执行。新创建的任务会初始化为就绪态。2、运行态任务正在运行,正在运行的任务永远是所有就绪态任务中优先级最高的。同一时刻只有一个任务处于运行态。3、阻塞态如果一个任务正在等待某个信号或外部事件那就说它处于阻塞态,阻塞态任务不在就绪列表中。例如调用了延迟函数vTaskDela...原创 2021-08-08 21:10:45 · 1117 阅读 · 0 评论 -
【FreeRTOS】多任务系统基础知识及特点
目录单片机各编程系统特点1、裸机系统(1)轮询系统(2)前后台系统2、多任务系统单片机各编程系统特点单片机编程中有裸机系统与多任务系统。裸机系统又分为轮询系统和前后台系统,FreeRTOS就是一种多任务系统(RTOS为实时操作系统,Free就是免费的)。1、裸机系统(1)轮询系统轮询系统就是依次顺序执行任务程序,将任务程序放在一个大循环里面无限循环。任务没有优先级,需执行的程序不能快速响应,没有实时性。(2)前后台系...原创 2021-08-08 13:53:48 · 1137 阅读 · 0 评论