随笔分类 -  freeRTOS

摘要:1.多任务特性 1.1任务调度机制 时间片任务调度机制:所有任务优先级相同,给每个任务分配一个时间片,该任务在指定时间片内部执行 前面在配置的时候有一个任务优先级数量的概念,即configMAX_PRIORITIES,该数量受MCU内存限制,数量越多,占用内存越高 RTOS为实时操作系统,所以必须支 阅读全文
posted @ 2021-08-05 23:24 MHDSG 阅读(242) 评论(0) 推荐(0)
摘要:1.消息队列概念及其应用 1.1定义 消息队列可在任务与任务之间,中断与任务之间传递消息 实现任务接收来自于其他任务或者中断的不定长度的消息 1.2消息队列工作原理 消息队列由消息控制块,队头,队尾构成 消息只能从队尾进入,队头出 2.消息队列控制块 2.1组成与各模块作用 pcHead,队列头指针 阅读全文
posted @ 2021-08-05 23:23 MHDSG 阅读(49) 评论(0) 推荐(0)
摘要:1.概念及其应用 1.1定义 类似闹钟,可突破硬件定时器数量限制,实现很多定时器 1.2FreeRTOS软件定时器原理 单次执行:启动软件定时器,设定定时时间为100ms,当100个tick值到达后就执行相关操作再关闭 循环执行:启动软件定时器,设定定时时间为100ms,当100个tick值到达后就 阅读全文
posted @ 2021-08-05 23:21 MHDSG 阅读(80) 评论(0) 推荐(0)
摘要:1.多任务调度基础 1.1Cortex-M0中Systick重要性 系统滴答定时器就是为操作系统诞生的,是调度器的核心 1.2Cortex-M0中断管理 当异常或者中断发生的时候,处理器会把PC设置为一个特定的地址(存在于flash里面),这一个地址被称为异常向量,每一类异常源都对应一个特定的入口地 阅读全文
posted @ 2021-08-05 23:20 MHDSG 阅读(300) 评论(0) 推荐(0)
摘要:1.配置文件作用 使用配置文件来裁剪freeRTOS的功能,进行个性化配置 使用CubeMX的话,ST公司已经默认配置好了环境 2.配置文件详解 2.1配置文件 参考文章 此处选用freeRTOS官方例程下面的配置文件FreeRTOSConfig.h /* * FreeRTOS Kernel V10 阅读全文
posted @ 2021-08-05 23:19 MHDSG 阅读(271) 评论(0) 推荐(0)
摘要:1.实现串口任务打印 1.1业务流程 USART1初始化 静态创建任务 注意:创建静态任务必须将Memory Allocation设置为Dynamic/static模式,即使能动态/静态内存 printf重定向,在usart.c下添加如下代码即可 /* USER CODE BEGIN 1 */ in 阅读全文
posted @ 2021-08-05 23:17 MHDSG 阅读(329) 评论(0) 推荐(0)
摘要:1.环境搭建 STM32CubeMX keil5 stm32f103zet6 2.点亮RTOS的第一盏灯 打开STM32CubeMX新建工程并选择MCU型号为stm32f103zet6 通过查找电路图发现灯的引脚为PB5,先将PB5配置为输出模式,因为按照电路图设计,当该引脚为低电平时候,灯被点亮, 阅读全文
posted @ 2021-08-05 23:13 MHDSG 阅读(261) 评论(0) 推荐(0)
摘要:官方API 1.动态创建任务 #include "FreeRTOS.h" #include "task.h" /* 功能:动态创建一个任务,所需的RAM会自动从FreeRTOS堆中分配 参数: 参数1:任务实现函数指针(函数名) 参数2:任务名称(字符串) 参数3:任务堆栈大小,单位为字 参数4:任 阅读全文
posted @ 2021-08-05 23:10 MHDSG 阅读(105) 评论(0) 推荐(0)