自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 8 FreeRTOS 列表和列表项

列表是FreeRTOS中的一个数据结构,概念上和链表有点类似,列表被用来跟踪FreeRTOS中的任务,列表项就是存放在列表中的项目。列表相当于链表,列表项相当于节点,FreeRTOS中的列表是一个双向环形链表。列表的特点:列表项间的地址是非连续的,是人为连接到一起的列表项的数目随时可以改变,是由后期添加到个数决定的。数组的特点:数组成员地址是连续的,数组在最初确定了成员数量后期无法改变。因此在OS中任务的数量是不确定的,并且任务状态是会发生改变的,所以非常适用列表(链表)这种数据结构。

2024-09-06 17:32:26 812

原创 7 FreeRTOS 临界段代码保护及调度器挂起与恢复

FreeRTOS在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断函数描述任务级进入临界段任务级退出临界段中断级进入临界段中断级退出临界段... ... /*临界区*/... ... /*临界区*/临界段代码特点:1)成对使用2)支持嵌套3)尽量保持临界段耗时短4)强悍。临界区是直接屏蔽了中断,系统任务调度靠中断,ISR也靠中断。任务级进入临界段。

2024-09-05 16:50:54 549

原创 6 FreeRTOS中断管理

让CPU打断正常运行的程序,转而去处理紧急的事件(程序)。中断执行机制,可简单概括为三步:1)中断请求,外设产生中断请求(GPIO外部中断、定时器中断等)。2)响应中断,CPU停止执行当前程序,转而去执行中断处理程序(ISR)。3)退出中断,执行完毕,返回被打断的程序处,继续往下执行。

2024-09-05 11:19:49 747

原创 5 FreeRTOS的任务挂起与恢复

vTaskSuspend() 挂起任务vTaskResume() 恢复被挂起的任务xTaskResumeFromISR() 在中断中恢复被挂起的任务挂起:挂起任务类似暂停,可恢复;删除任务,无法恢复恢复:恢复被挂起的任务FromISR:带FromISR后缀是在中断函数中专用的API函数注意:1)此函数用于挂起任务,使用时需将宏INCLUDE_vTaskSuspend配置为12)无论优先级如何,被挂起的任务都将不再被执行,直到任务被恢复3)当传入的参数为NULL,则代表挂起任务自身(当前正在执行的任务)

2024-09-03 16:20:56 1027

原创 4 FreeRTOS的任务创建和删除

* 任务栈栈顶,必须为TCB的第一个成员 *//* 任务状态列表项 *//* 任务事件列表项 *//* 任务优先级,数值越大,优先级越大 *//* 任务栈起始地址 *//* 任务名字 */省略很多条件编译的成员} tskTCB;任务栈栈顶,在任务切换时的任务上下文保存、任务恢复息息相关注意:每个任务都有属于自己的任务控制块,类似于身份证。

2024-09-03 09:53:12 600

原创 3 FreeRTOS移植

STM32F1系列的函数delay_init()将SysTick的时钟频率设置为CPU时钟频率的1/8,而STM32F4/G4/F7/H7/H5系列的函数delay_init()则将SysTick的时钟频率设置为与CPU相同的时钟频率,由于FreeRTOS在配置SysTick时,并不会配置 SysTick 的时钟源,因此这将导致正点原子 STM32F1 系列与正点原子 STM32F4/G4/F7/H7/H5 系列的 FreeRTOSConfig.h 文件有所差异。

2024-09-01 02:24:55 739

原创 2 FreeRTOS基础知识

调度器就是使用相关调度算法来决定当前需要执行的哪个任务。抢占式调度:主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务。(RTOS是数值越大,它的任务优先级就越大)时间片调度:主要是针对优先级相同的任务,当多个任务优先级相同时,任务调度器会在每一次系统时钟节拍到底时候切换任务。协程式调度(现在几乎不怎么用):当前执行的任务将会一直运行,同时高优先级的任务不会抢占低优先级的任务,FreeRTOS现在虽然还支持,但是官方已经表示不在更新协程式调度。

2024-08-30 21:36:45 703

原创 1 RTOS入门

免费开源:商业产品中使用,无潜在商业风险,无须担心可剪裁:FreeRTOS的核心代码9000+行,包含在3个.c文件中简单:简单易用,可移植性非常好优先级不限:任务优先级分配没有限制(没有限制指的是软件方法,如果使用硬件方法,STM32最多有32个优先级),多任务可同意优先级。任务不限:可创建的实时任务数量没有软件限制,但需要注意的是每一个任务都需要分配任务堆栈,而任务堆栈需要MCU分配内存抢占/协程/时间片:支持抢占式、协程式、时间片流转任务调度。

2024-08-30 16:24:12 213

原创 人工智能——神经网络

一、人工智能发展简史1950年,英国科学家艾伦图灵发表了论文讨论创造出具有真正智能的机器的可能性,并提出了著名的图灵测试:如果一台机器能够与人类展开对话而不能被辨别出其机器身份,那么称这台机器具有智能。现在活跃于电脑,手机,还有各种硬件上的“智能助手”在各自的功能领域,通常被大众认为挺有智能的。从1956年的达特茅斯会议开始,人工智能(Artificial Intelligence,AI)作为一个专门的研究领域出现,经历了超过半个世纪的起伏,终于在2007年前后,迎来了又一次大发展。二、人工智能的定

2021-06-13 14:37:44 1080

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除