摘要:
使用PyQT5实现YOLOv8图形化界面 准备工作: 1、首先在YOLOv8环境中安装pyqt5 pip install pyqt5 pip install pyqt5-tools 然后再你的anaconda环境中找到designer.exe文件,双击运行,可以将其发送到桌面快捷方式方便后续使用 下 阅读全文
摘要:
列表和列表项的简介 列表是 FreeRTOS 中的一个数据结构,概念上和链表有点类似,列表被用来跟踪 FreeRTOS中的任务。 列表项就是存放在列表中的项目 列表相当于链表,列表项相当于节点,FreeRTOS 中的列表是一个双向环形链表 列表的特点:列表项间的地址非连续的,是人为的连接到一起的。列 阅读全文
摘要:
临界段代码保护 什么是临界段:临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段 适用场合如: 问题:什么可以打断当前程序的运行? 1、临界段代码保护函数介绍 FreeRTOS 在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断 函数 描述 taskENTER_CRI 阅读全文
摘要:
FreeRTOS学习笔记-中断管理 中断:让CPU打断正常运行的程序,转而去处理紧急的事件(程序) 中断执行机制,可简单概括为三步: 1、中断请求:外设产生中断请求(GPIO外部中断、定时器中断等) 2、响应中断:CPU停止执行当前程序,转而去执行中断处理程序(ISR) 3、退出中断:执行完毕,返回 阅读全文
摘要:
任务的挂起与恢复的API函数介绍 API函数 描述 vTaskSuspend() 挂起任务 vTaskResume() 恢复被挂起的任务 xTaskResumeFromISR() 在中断中恢复被挂起的任务 1、挂起任务类似暂停,可恢复; 删除任务,无法恢复 2、恢复是恢复被挂起任务 3、带FromI 阅读全文
摘要:
1任务控制块:保存任务的一些信息 (STM32的栈是由告高地址向低地址延伸的,由上向下生长) (STM32的堆是由告低地址向高地址延伸的,由下向上生长) 第一步申请内存 如下如所示步骤找到xTaskCreate()函数被定义的位置 因为STM32的栈是向下生长的,所以不执行if内部语句,执行else 阅读全文
摘要:
FreeRTOS的任务创建和删除 1,任务创建和删除的API函数(熟悉) 任务的创建和删除本质就是调用FreeRTOS的API函数 一、任务创建 动态创建任务:任务的任务控制块以及任务的栈空间所需的内存,均由 FreeRTOS 从 FreeRTOS 管理的堆中分配 静态创建任务:任务的任务控制块以及 阅读全文
摘要:
FreeRTOSConfig.h配置文件作用:对FreeRTOS进行功能配置和裁剪,以及API函数的使能。 系统配置文件中主要是一些宏定义 相关宏定义可分为三类: 1、“INCLUDE”开头的宏定义:配置FreeRTOS中可选的API函数(例如任务删除、挂起等API函数) 2、“config”开头的 阅读全文
摘要:
一基础知识 1、任务调度(调度器) 调度器就是使用相关的调度算法来决定当前需要执行的哪个任务 FreeRTOS三种任务调度方式: 1、抢占式调度:主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务。(FreeRTOS中数字越大优先级越高) 2、时间片调度:主要针 阅读全文
摘要:
FreeRTOS移植 首先准备一个基础工程,stm32标准库或者HAL库,本实验使用HAL库版本的内存管理实验进行移植 移植步骤: 1 第一步:添加FreeRTOS源码(添加FreeRTOS源码的目的是使嵌入式通过FreeRTOS系统调用MUC寄存器进行相关外设操作) 下图源码可通过www.free 阅读全文