ICode9

精准搜索请尝试: 精确搜索
  • FreeRTOS-中断相关坑2021-11-19 10:02:50

    FreeRTOS-中断相关坑 1. FreeRTOS中断的配置 LIBRARY_LOWEST_INTERRUPT_PRIORITY:配置FreeRTOS最低优先级,SysTick和PendSV默认在此优先级 LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY:高于该配置的优先级中断中都不能调用freertos的任何API,但是同时他也不会受freertos的内核影响而可以

  • vTaskNotifyGiveFromISR源码分析2021-11-18 20:32:36

    以STM32平台为例,在STM32中数值优先级越低,逻辑优先级越高。 void vTaskNotifyGiveFromISR( TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken ) { TCB_t * pxTCB; uint8_t ucOriginalNotifyState; UBaseType_t uxSavedInterruptStatus; configASSE

  • STM32 中断中调用freeRTOS API 需要注意的地方2021-11-17 10:35:35

      1、中断里调用 信号量、消息队列等API, 信号量的接收、消息队列的接收都需要等待中断结束后才能响应 2、中断回调函数只能使用中断级API (xxFromISR) 函数 3、比configMAX_SYSCALL_INTERRUPT_PRIORITY优先级高的中断函数中不能使用FreeRTOS的函数 4、临界代码保护后不可调用osDe

  • 【freeRTOS开发笔记】为什么xTaskCreate接口会卡死不返回2021-11-16 23:02:55

    文章目录 1 前言2 遇到的问题3 问题分析3.1 初略分析3.2 深究源码3.3 代码验证3.4 进一步分析3.5 如何优化 4 经验总结5 更多分享 1 前言 最近博主在做一些适配freeRTOS的项目,简单来说就是从别的RTOS平台迁移到freeRTOS平台。 由于之前的代码都是可用的,凭经验我们认为只

  • FreeRTOS任务通知2021-10-29 09:32:24

    从FreeRTOSv8.2.0版本开始,FreeRTOS新增了任务通知(Task Notifictions)这个功能,可以使用任务通知来代替信号量、消息队列、事件标志组等这些东西。使用任务通知的话效率会更高。 一、任务通知简介 任务通知在FreeRTOS中是一个可选的功能,要使用任务通知的话就需要将宏configUSE_

  • (四)HAAS530 阿里云物联网平台ID²接入实践,FREERTOS+SE芯片2021-10-25 17:02:30

    ID²和硬件主控的驱动移植 接下去部分实现ID² SE芯片移植 移植准备 SE安全芯片:FM1230 硬件电路:主控—iic—FM1230 原厂提供了STM32下的IIC下的驱动示例 根据自己主控来移植IIC驱动部分,这里是采用GPIO模拟IIC来实现 IIC驱动移植 模拟IIC驱动部分比较常见,我也是从网上找的,贴出

  • FreeRTOS消息队列详解第五讲(全网最全)——队列读取消息2021-10-24 16:03:31

    一、消息队列读取消息 有消息入队就有出队,出队就是从队列中获取队列项(消息),FreeRTOS中出队函数如下表所示: 1、函数xQueueReceive() 此函数用于在任务中从队列中读取一条(请求)消息,读取成功以后就会将队列中的这条数据删除,此函数的本质是一个宏,真正执行的函数是xQueueGenericRec

  • freertos事件组2021-10-20 14:33:47

    EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait ); xClearOnExit: 是否需要清

  • FreeRTOS中链表的实现2021-10-13 17:03:30

    函数功能 void vListInitialise( List_t * const pxList ); 链表初始化函数 /* 节点初始化 */ void vListInitialiseItem( ListItem_t * const pxItem ) { /* 初始化该节点所在的链表为空,表示节点还没有插入任何链表 */ pxItem->pvContainer =

  • freertos笔记:列表与列表项2021-10-11 18:02:47

     列表项例子如下:(注意演示图片里的尖口方向指向,好好分析)        

  • FreeRTOS学习 任务调度2021-10-10 19:34:35

    任务调度 任务调度实现在多个任务之间轮流使用CPU,他的主要工作分为三个阶段: 保存当前任务上下文到任务栈选择新任务恢复新任务的上下文 这三个步骤需要在中断服务函数中执行,所以要求执行的速度要快,所以任务选择策略需要满足快的要求,同时使用汇编代码编写。 任务调度器的具体

  • FreeRTOS消息队列 & ESP32使用2021-10-05 11:57:56

    FreeRTOS消息队列 & ESP32实战 FreeRTOS消息队列 FreeRTOS的消息队列和操作系统课中讲的消息队列大差不差,都是为了有序的、安全的在多任务间在发送信息。下面是其一些特性。 多任务访问   队列不是属于某个特别指定的任务的,任何任务都可以向队列中发送消息,或者从队列中提取

  • 在STMCubeIDE配置FreeRTOS的各种参数2021-10-05 11:34:01

    上图:   今天试着在IDE上面配置FreeRTOS,因为之前都是直接在keil上面移植裁剪系统,第一次在IDE上图形化配置导致很多参数都看不懂,很多需要配置的重要参数也找不到位置,所有我把所有可以配置的参数都翻译了一遍。(注:只做翻译,不详细叙述作用) 翻译按照上图中1、2、3、4的顺序 第一部分

  • 九,FreeRTOS之——空闲任务钩子函数2021-09-27 22:03:26

    声明:本专栏参考韦东山,野火,正点原子以及其他博主的FreeRTOS教程,如若侵权请告知,马上删帖致歉,个人总结,如有不对,欢迎指正。 空闲任务钩子函数实验一:不断创建任务圈重点实验二:不断创建任务实验三:让优先级为0的任务也可以执行实验四:空闲任务钩子函数运行钩子函数前提条件:

  • freertos与rt-thread在应用上的一些区别2021-09-27 10:03:06

    1、中断管理上的区别 freertos进入临界区时,不响应优先级低于设定阈值的中断,此时若需要一个绝对的定时时间来做一些采样业务,那么采样周期就有可能被打断。 若把中断优先级设定高于设定阈值,就不能使用freertos的API,但是这个中断又需要用到队列来存储数据。使用全局变量就有悖使用

  • 六,FreeRTOS之——临界资源访问2021-09-25 21:33:06

    声明:本专栏参考韦东山,野火,正点原子以及其他博主的FreeRTOS教程,如若侵权请告知,马上删帖致歉,个人总结,如有不对,欢迎指正。 临界资源访问临界区资源保护实验实验一实验二 临界资源访问 转:临界资源访问1 转:临界资源访问2 阅读以上两篇文章大概就知道临界资源访问是个啥了,

  • Arduino FreeRTOS给任务传递参数2021-09-25 21:02:40

    Arduino FreeRTOS给任务传递参数 相关篇《Arduino上跑FreeRTOS多任务操作系统》 《Arduino FreeRTOS多任务优先级设置》 《Arduino FreeRTOS多任务执行和销毁》 实例代码 #include <Arduino_FreeRTOS.h> struct LED{ unsigned int time_on

  • FreeRTOS的信号量2021-09-23 15:03:11

    一、信号量简介 信号量是操作系统中重要的一部分,信号量一般用来进行资源管理和任务同步,FreeRTOS中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量。不同的信号量其应用场景不同,但有些应用场景是可以互换着使用的。 二、二值信号量 简介 二值信号量其实就

  • FreeRTOS信号量2021-09-21 10:06:31

    二值信号量 vSemaphoreCreateBinary()//创建二值信号量,老版本,调用take会得到 xSemaphoreCreateBinary()//返回handle,需要的内存是自动分配,创建要先give xSemaphoreCreateBinaryStatic()//静态创建 队列长度为1, 用于任务同步,不用优先级继承机制 发送:Post an item on a qu

  • FreeRTOS事件标志组2021-09-21 10:06:02

    typedef TickType_t EventBits_t; xEventGroupCreate()//创建事件标志组 xEventGroupClearBits()//Clear bits within an event group 清除事件标志位 xEventGroupSetBits()//置位事件标志位将解除正在等待标志位任务的阻塞, xEventGroupGetBits()//返回事件标志位的值 xEvent

  • 【FreeRTOS】FreeRTOS学习笔记(14)— FreeRTOS的消息队列(原生API)2021-09-19 20:34:30

    摘要:在裸机中我们使用全局变量来传递信息,在操作系统中,使用全局变量传递消息可能会不安全,容易被修改。于是就是用队列来传递消息。队列就是一个数据结构,用于任务间的数据的传递。 一、消息队列的基本概念 队列又称消息队列,是一种常用于任务间通信的数据结构,队列可以在任务与任

  • FreeRTOS与RT-Thread对于中断及临界区的处理2021-09-18 17:06:51

    1、中断的管理 Freertos对系统中断的管理是通过操作 BASEPRI 寄存器来实现的,头文件FreeRTOSConfig.h中对管理的优先级进行了定义 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY    5 设置freertos可以管理的最大优先级,高于优先级5的不归freertos管,低于此优先级的中

  • STM32F407之基于FreeRTOS的串口数据处理2021-09-17 17:01:01

    串口数据处理比较频繁时,不用RTOS处理数据容易丢包。 串口数据处理可以用FreeRTOS进行管理,用于支持串口的CMD指令收发。 除了串口任务的创建,定时器创建外,单纯串口数据处理需要进行下面几个步骤。 1 串口初始化与参数初始化 定义串口数据机构体 #define SH _BUFSIZE       

  • FreeRTOS-事件标志组2021-09-09 19:32:51

    FreeRTOS-事件标志组 在前面我们已经学习了信号量,我们知道信号量可以用来做任务同步,但是这种任务同步有一个缺点,就是只能在两个任务之间进行同步,所以为了解决这个问题,FreeRTOS提供了事件标志组,使得多任务之间进行同步。 事件标志组表示方法 事件标志组由若干个事件标志位组成

  • STM32F429IGT6移植FreeRTOS时遇到的问题汇总2021-09-07 23:05:26

    一、学习环境 编译环境:keil 开发板:野火STM32F429开发板 二、遇到的问题 问题一: #error This port can only be used when the project options are configured to enable hardware floating point support. 解决方法:在keil的target中选浮点单元,因为我用的F429支持浮点运算。将

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有