自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 硬件 电子元件【电容】

电容是一种能够存储,过滤和电能量的元器件。电容的物理学公式如下:Q标识存储的电量,ε是介电常数,A是平板面积,d是正负极间距。面积越大,距离越短,电容远大。介质在外加电场时会产生感应电荷而削弱电场,原外加电场(真空中)与最终介质中电场比值即为介电常数( permittivity)又称诱电率,与频率相关。介电常数是相对介电常数与真空中绝对介电常数乘积。如果有高介电常数的材料放在电场中,电场的强度会在电介质内有可观的下降。理想导体的相对介电常数为无穷大。

2023-11-06 11:44:28 130 1

原创 【FreeRTOS学习】第12章 任务管理

FreeRTOS的任务可认为是一系列独立任务的集合。每个任务在自己独立的环境中运行。在任何时刻,只有一个任务能得到运行,由FreeRTOS调度器决定运行哪个任务。调度器会在合适的时候的启动、停止一个任务,宏观看上去所有的任务都在同时在执行。这其实就是任务的切换。任务切入/切出时保存上下文环境每个FreeRTOS任务都需要有自己的栈空间FreeRTOS中的任务是抢占式调度机制,也支持时间片轮转调度方式。

2023-07-28 15:19:05 316 1

原创 【FreeRTOS学习】第11章 FreeRTOS的启动流程

第一种我称之为万事俱备,只欠东风法。这种方法是在main函数中将硬件初始化,RTOS系统初始化,所有任务的创建这些都弄好,这个我称之为万事都已经准备好。最后只欠一道东风,即启动RTOS的调度器,开始多任务的调度。

2023-07-27 15:13:34 512 1

原创 【FreeRTOS学习】第10章 创建任务

static void AppTaskCreate(void) //启动任务函数: static void BSP_Init(void) //初始化外设函数 static void LED_Task(void * parameter) //任务主体函数 {while(1) {LED1_ON;/* 延时500个tick */ printf("LED_Task Running,LED1_ON\r\n");LED1_OFF;

2023-07-26 17:37:45 325 1

原创 【FreeRTOS学习】第9章 移植FreeRTOS到STM32

Source文件夹:最最最重要的文件夹,没有之一portblle文件夹:与编译器相关的文件,keil编译环境,使用RVDS文件夹MemMang文件夹:存放的是跟内存管理相关的文件Demo文件夹:各种开发平台的完整Demo,开发者可以方便的以此搭建出自己的项目,甚至直接使用。License文件夹:这里面只有一个许可文件“license.txt”,用FreeRTOS做产品的话就需要看看这个文件。FreeRTOS-Plus文件夹:包含的是第三方的产品。

2023-07-25 15:52:25 186

原创 【FreeRTOS学习】第8章 支持时间片

其实FreeRTOS的这种时间片功能不能说是真正意义的时间片,因为它不能随意的设置时间为多少个tick,而是默认一个tick,然后默认在每个tick中断周期中进行任务切换而已。

2023-07-24 16:12:42 389

原创 【FreeRTOS学习】第7章 任务延时列表的实现

在FreeRTOS中,有一个任务延时列表,实际上有两个,为了方便讲解原理,我们假装合并为一个,其实两个的作用是一样的。当任务需要延时的时候,则先将任务挂起,即先将任务从就绪列表删除,然后插入到任务延时列表,同时更新下一个任务的解锁时刻变量:xNextTaskUnblockTime的值。xNextTaskUnblockTime的值等于系统时基计数器的值xTickCount加上任务需要延时的值xTicksToDelay。

2023-07-24 14:32:34 142

原创 【FreeRTOS学习】第6章 支持多优先级

就绪列表pxReadyTasksLists[ configMAX_PRIORITIES ]是一个数组,数组里面存的是就绪任务的TCB(准确来说是TCB里面的xStateListItem节点)。

2023-07-24 11:18:35 72

原创 【FreeRTOS学习】第5章 空闲任务与阻塞延时的实现

在上一章节中,任务体内的延时使用的是软件延时,即还是让CPU空等来达到延时的效果。而使用RTOS的很大优势就是榨干CPU的性能,永远不能让它闲着。RTOS中的延时叫阻塞延时,即任务需要延时的时候,任务会放弃CPU的使用权,CPU可以去干其它的事情,当任务延时时间到,重新获取CPU使用权,任务继续运行,这样就充分地利用了CPU的资源,而不是干等着。如果没有其它任务可以运行,这个时候CPU就运行空闲任务。因为系统保证必须每时每刻都有一个可以运行的任务。

2023-07-21 17:59:28 342 1

原创 【FreeRTOS学习】第4章 临界段

临界段用一句话概括就是一段在执行的时候不能被中断的代码段。那么什么情况下临界段会被打断?一个是系统调度,还有一个就是外部中断。因此FreeRTOS对临界段的保护最终还是回到对中断的开和关的控制。

2023-07-21 16:33:36 216 1

原创 【MDK for ARM】学习

灰色区域、蓝色和黄色箭头,黄色三角形代表将要执行的代码,蓝色的三角形表示当前光标所在代码,点击灰色区域可添加断点。通过调试选项或调试窗口即可对代码进行Debug。在Debug页面勾选“Use Simulator”即可。

2023-07-21 11:11:17 190 1

原创 【FreeRTOS学习】第3章 任务

就绪列表实际上就是一个List_t类型的数组,数组的大小由决定最大任务优先级的宏configMAX_PRIORITIES决定,目前我们将configMAX_PRIORITIES在FreeRTOSConfig.h中默认定义为5,最大支持256个优先级。数组的下标对应了任务的优先级,同一优先级的任务统一插入到就绪列表的同一条链表中。调度器是操作系统的核心,其主要功能就是实现任务的切换,即从就绪列表里面找到优先级最高的任务,然后去执行该任务。

2023-07-18 15:42:11 197 1

原创 【FreeRTOS学习】第2章 数据结构、列表与列表项

链表根节点的数据结构在list.h中定义。

2023-07-12 15:33:06 187 1

原创 【FreeRTOS学习】第1章 简介&新建工程

​ FreeRTOS(Free Real-Time Operating System)是一个开源的实时操作系统内核,专为嵌入式系统和小型微控制器设计。它提供了一套轻量级的任务调度和管理机制,使开发者能够在资源有限的嵌入式环境中有效地进行实时任务处理。​ 以下是FreeRTOS的一些关键特点和功能:实时调度:FreeRTOS提供了可靠的实时任务调度,允许多个任务以优先级方式共享处理器时间。它使用基于优先级的抢占式调度算法,确保高优先级任务能够及时响应事件和中断。

2023-07-11 17:25:08 172 1

原创 SVN入门学习

SVN入门学习笔记

2023-07-05 14:49:49 372

原创 0基础Git与Github小白入门教程

​ Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。​ Git 易于学习,占地面积小,性能极快。具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVSPerforce 和 ClearCase 等版本控制工具。能够使用Linux命令​ 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。

2023-07-03 17:11:30 146 1

原创 我的Cadence Allegro PCB学习笔记

选择形状 -> Active Class:Etch -> Subclass:需要敷铜的层 -> Type:Dynnamic copper(动态铜箔)导入网表(File/Import/Import Logic)(亦可直接从orCAD输出网表至Allegro对应PCB文件)(2)物理约束设置(Setup/Constraints/Spacing/Physical)(1)间距约束设置(Setup/Constraints/Spacing/Spacing)设置叠层(Setup/Subclasses/ETCH)

2023-06-01 16:00:40 1153 1

空空如也

空空如也

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

TA关注的人

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