自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (19)
  • 收藏
  • 关注

原创 C语言中对文件的输入输出

什么是文件文件有不同的类型,在程序设计中,主要用到两种文件:程序文件: 包括源程序文件(.c),目标文件(.obj),可执行文件(.exe)等。数据文件: 文件的内容不是程序,而是供程序运行时读取的数据,如在程序运行过程中输出到磁盘的数据。如一批学生的成绩数据。文件是程序设计中的一个重要的概念。所谓的文件一般指存储在外部介质上数据的集合。文件名一个文件要有一个唯一的文件标识,便于用户识别与引用,文件标识包括三个部分:1.文件路径 2.文件名主干 3.文件后缀。文件路径表示外部储存设备中的位置。

2020-11-14 11:04:17 1804

原创 STM32---定时器知多少

STM32—定时器知多少这里写目录标题STM32---定时器知多少定时器的分类定时器的工作原理定时器的应用定时器的分类定时器的分类:定时器的类型可以查看STM32F1XX中文参考手册的第14,15,16章节,里面对定时器的知识有详细的介绍。STM32F1系列的开发板一共有8个定时器,按照功能的不同可以分为:高级定时器(TIM1、TIM8)通用定时器(TIM2、TIM3、TIM4、TIM5)基本定时器(TIM6、TIM7)看门狗定时器SysTick定时器他们之间的区别情况见下表:定时

2020-10-15 22:17:18 4719

原创 STM32--USART详解

STM32–USART详解1 串口的基本概念在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。还可以使用DMA方式,实现高速数据通信。USART通过3个引

2020-10-11 21:57:55 15581 1

原创 OpenCV ARM移植(交叉编译opencv3.1.0)make 问题汇总

首先需要配置编译环境,这个网上很多,大家可参考以下ref:https://blog.csdn.net/zdyueguanyun/article/details/51272989这边文章中讲的很全面。下面我说一下我在make 编译的时候出现的问题:1)错误信息为:[ 31%] Linking CXX shared library …/…/lib/libopencv_core.so…make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all

2022-04-15 08:52:42 1272 2

原创 ubuntu交叉编译 opencv报错error: missing binary operator before token解决方案

ubuntu交叉编译 opencv报错error: missing binary operator before token解决方案最近交叉编译opencv出现error: missing binary operator before token的错误,查了好多资料都没有很好的解决方案,后面认真的分析了一下错误的地方,最终问题解决。硬件平台ubuntu 20.04arm:AM5708开发板交叉编译开发板自带的opencv-examples示例,错误:以上显示错误为error: missing

2022-04-14 10:46:11 13539 3

原创 ubuntu20解决error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file

gdb linux

2021-11-30 22:14:14 4617 4

原创 计算机四级嵌入式工程师资料整理(计算机组成与接口)

全国计算机等级考试四级嵌入式工程师计算机组成与接口1 PC用来存放下一条指令的地址的。2 在指令流水线中,最大吞吐率是指流水线上达到稳定状态后可获得的吞吐率。3 影响流水线性能的主要因素是资源相关,控制相关和数据相关。4 存储器的三个主要性能指标是存储容量,存取速度和每位价格。5 DMA控制器的工作方式 单字节传送,块传送,请求传送。6 Pentium微处理器可工作在实地址模式,保护模式,虚拟模式和系统管理模式。7 为了提高存储器的带宽,可以采取以下措施:缩短存取周期,增加存储字长,增加存储

2021-09-28 15:24:46 816

原创 计算机四级嵌入式工程师资料整理(操作系统原理)

全国计算机等级考试四级嵌入式工程师操作系统原理1 操作系统体系结构如下三种类型:整体式结构,层次式结构,微内核结构。2 运行中的进程可以具有以下三种状态:就绪状态,运行状态,阻塞状态。3 引起进程调度的原因:1/正在执行的进程执行完毕 2/正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态 3/正在执行的进程调用了阻塞原语操作 4/时间片已经用完 5/就绪对列中的某个进程的优先级高于当前运行进程的优先级。4 允许动态扩充内存容量的方案是 虚拟页式。5 页式存储管理方案中,一个进程的虚拟地址空间

2021-09-28 15:22:39 1294

原创 STM32L4如何用闹钟唤醒待机模式

STM32L4待机模式闹钟唤醒方法在很多低功耗应用中都会用到待机模式,而在使用待机模式的同时一定要用STM32的RTC功能,一般都是秒级别的。在这次项目中,我要用RTC来作为时间闹钟让单片机进入待机模式进入低功耗模式,以此来降低功耗。应用场景就是在白天进行工作模式,晚上7点之后将数据上传之后进入低功耗模式,第二天早上8点通过闹钟中断进行唤醒继续工作。在调试的过程中发现stm32f4系列与stm32L4系列的应用模式有一定的区别下面是我的解决方案。闹钟唤醒待机模式解决方案:使用CUBEmx配置RTC选择

2021-06-05 08:34:55 990

原创 Linux---如何打开文本文件

Linux系统如何打开文本文件1.利用vim文本编辑器在终端中输入【vi 文件名.txt】,命令中的vi部分是选择vim文本编辑器来打开并编辑文件。用目标文件名来代替命令中的文件名。关闭文件在终端中输入【:q】,按下回车键,这样就可以退出vim程序,然后返回终端界面。2.使用cat命令打开文件打开终端后直接用cat命令查看文件中的内容,只需在提示符下输入【cat 文件名.txt】,然后按enter键。...

2021-05-30 20:03:01 5894 1

原创 Linux---如何创建文本文件

Linux创建文件1.在Linux上使用重定向符(>)创建一个文件标准重定向符允许我们创建一个0KB的空文件。它通常用于重定向一个命令的输出到一个新文件中。在没有命令的情况下使用重定向符时,它会创建一个文件。2. 在Linux上使用touch命令创建一个文件touch命令常用于将每个文件的访问和修改时间更新为当前时间。如果指定文件名不存在,就将新建一个文件。...

2021-05-30 19:55:34 22677

原创 UCOSIII---存储管理

存储管理简介通常,应用程序可以调用ANSI C编译器的malloc()函数和free()函数来动态地分配和释放存储空间。然而,在嵌入式实时系统中,这样做可能很危险,多次进行这样地操作会把原来很大的一块连续存储区域,逐渐地分割为许多非常小且彼此不相连的存储区域,这就是存储碎片。由于存储碎片数量的增加,程序到后来可能连一块连续的存储区域都分配不到。另外,由于存储空间管理算法的原因,要得到一块连续的存储块,其大小足以满足malloc()函数的要求,malloc()和free()函数的执行时间也没有办法确定。U

2021-05-15 22:22:46 431 2

原创 UCOSIII---同时等待多个内核对象

同时等待多个内核对象在前面,我们了解到多任务是如何等待单个内核对象的,这里的内核对象包括信号量,互斥信号量,事件标志组或者消息队列等。本次将讨论任务是如何同时等待多个内核对象的。然而,UCOSIII仅允许任务同时等待多个信号量和多个消息队列。换言之,UCOSIII不支持同时等待多个事件标志组或互斥信号量。UCOSIII中一个任务可以同时等待任意数量的信号量或者消息队列,当只要等到其中的任意一个的时候就会导致该任务进入就绪态,如下图所示:在图中,一个任务可以同时等待任意数量的信号量或者消息队列。第一个

2021-05-15 15:12:43 257

原创 UCOSIII---事件标志组

事件标志组当任务需要与多个事件的发生同步时,可以使用事件标志组。等待多个事件时,任何一个事件发生,任务才被同步,这种同步机制称为“或”同步,当所有的事件都发生时,任务才能被同步,这种同步机制被称为“与”同步。这两种同步机制如下图所示:1 UCOSIII中的事件标志组就是OS_FLAG_GRP类型中的内核对象,由一串事件标志组组成。2 任务和ISR都可以发布事件标志。3 任务可以等待事件标志组中的任意个事件标志。4 任务可以设定使用或同步机制还是与同步机制。事件标志组API函数如何创建事件

2021-05-15 11:02:31 700

原创 UCOSIII---消息传递

UCOSIII任务之间通信一个任务或者中断服务程序有时候需要和另一个任务交流信息,这个信息传递的过程称为任务间的通信。任务间的信息传递可以通过两种途径来实现:一是通过全局变量,二是通过发布消息。使用全局变量的时候,每个任务或者中断服务程序都必须保证其对全局变量的独占访问(通常的解决办法:关中断、临界区、信号量)。消息也可以通过消息队列作为中介发布给任务。消息一则消息包括几个部分:指向数据的指针,表明数据长度的变量和记录消息发布时刻的时间戳。指针指向的可以是一块数据区或者一个函数。显然,发布方和接收方

2021-05-15 10:21:53 689

转载 UCOSIII---任务内嵌信号量

任务内嵌信号量API函数我们一般使用信号量时都需要先创建一个信号量,不过在UCOSIII中每个任务都有自己的内嵌的信号量,这种功能不仅能够简化代码,而且比使用独立的信号量更有效。任务信号量是直接内嵌在UCOSIII中的,任务信号量相关代码在os_task.c中的。任务内嵌信号量相关函数如下表所示:等待任务信号量等待任务内嵌信号量使用函数OSTaskSemPend(),OStaskSemPend()允许一个任务等待由其他任务或者ISR直接发送的信号,使用过程基本和独立的信号量相同,OSTaskSemP

2021-05-13 22:21:27 417

原创 UCOSIII---互斥信号量

介绍互斥信号量之前,首先给大家简单的说一下优先级反转,优先级反转是实时操作系统中常要面对的一个问题,而且它只出现在使用基于优先级的可剥夺型内核时。优先级反转栗子在这种情况下,任务H的优先级实际上降到了任务L的优先级水平。因为任务H要一直等待直到任务L释放其占用的那个共享资源。由于任务M剥夺了任务L的CPU使用权,使得任务H的情况更加恶化,这样就相当于任务M的优先级高于任务H,导致优先级反转。有一种方法可以避免这一现象的出现:在UCOSIII中有一种特殊的信号量可以胜任这一任务,那就是互斥信号量。

2021-05-13 22:16:12 896 2

原创 UCOSIII---信号量

信号量信号量最初是一种机械信号机制。主要应用在铁路系统中,当一条铁轨被多辆列车公用时,就需要一种装置来提供互斥机制。通过该装置关闭一组机械臂来阻止列车进入一段正在使用的轨道区间。当该段轨道空闲时,打开机械臂让等待的列车继续前进。信号量在软件上来实现互斥最早由荷兰的一名计算机科学家提出。它实际上就是一种约束机制,在多任务内核中普遍使用。信号量原先被用来控制对共享资源的访问,但是现在则基本被用来做任务之间的同步。信号量像是一种上锁机制,代码必须获取对用的钥匙才能继续执行。一旦获得钥匙,就意味该任务具有进入

2021-05-13 21:34:25 351

原创 UCOS---资源管理

资源管理这次主要讲解一下UCOSIII中提供的用于管理共享资源的服务。典型的共享资源有:变量(静态或者全局变量),数据结构体,ARM中的表格,I/O设备中的寄存器等。最常见的独占共享资源和创建临界区的方法有以下几种:1 关中断2 禁止任务调度3 使用信号量4 使用互斥信号量独占共享资源和创建临界区方法表就以上四种方法来说,一般推荐使用互斥信号量对共享资源实现保护。下面将对信号量和互斥信号量展开具体介绍。...

2021-05-13 21:05:45 87

原创 UCOSIII---定时器管理

定时器管理在学习STM32的过程中会用到定时器来做一些任务,这个定时器时单片机自带的,就是硬件定时器。在UCOSIII中提供的软件定时器,通过软件定时器来实现一些基本的功能,下面我们就来介绍一下定时器管理。UCOSIII定时器所谓定时器本质上就是递减计数器,当计数器见到0时触发某些动作的执行,这种动作可以通过回调函数来实现。当定时器计数完成时,自定义的回调函数就会立即被调用。定时器启用需要在os_cfg.h中设定OS_CFG_TMR_EN为1。UCOSIII中定时器的时间分辨率由一个常数----定

2021-05-09 15:54:32 616 2

原创 UCOSIII---中断管理和时间管理

UCOSIII的中断管理在STM32中是支持中断的,中断是一种硬件机制,用于通过CPU一个异步事件发生了,CPU在确认中断后,将其部分或全部寄存器入栈保存,并跳转执行一个特殊的函数,这个函数称为中断服务函数。中断服务函数处理该异步事件,处理过程有可能使得更高优先级的任务进入就绪态,这样当中断服务程序结束后,将直接执行该就绪的更高优先级任务且不在返回,否则将返回到被中断的任务继续执行。UCOSIII是支持中断嵌套的,即高优先级的中断可以打断低优先级的中断,在UCOSIII中使用OSIntNestingCt

2021-05-08 20:49:10 613

转载 UCOSIII---内部任务

之前讲到UCOSIII默认有5个系统任务:空闲任务:UCOSIII创建的第一个任务,UCOSIII必须创建的任务,此任务有UCOSIII自动创建,不需要用户手动创建;时钟节拍任务:此任务也是必须创建的任务;统计任务:可选任务,用来统计CPU使用率和各个任务的堆栈使用量。此任务是可选任务,由宏OS_CFG_STAT_TASK_EN控制是否使用此任务;定时任务:用来向用户提供定时服务,也是可选任务,由宏OS_CFG_TMR_EN控制是否使用此任务;中断服务管理任务:可选任务,由宏OS_CFG_ISR_

2021-04-24 22:08:56 245

转载 UCOSIII---任务管理

UCOSIII任务创建UCOSIII是多任务系统,那么肯定要能创建任务,创建任务就是将任务控制块、任务堆栈、任务代码等联系在一起,并且初始化任务控制块的相应字段。在UCOSIII中我们通过函数OSTaskCreate()来创建任务,OSTaskCreate()函数原型如下(在os_task.c中有定义)。OSTaskCreate()的函数定义为:void OSTaskCreate (OS_TCB *p_tcb, //任务控制块

2021-04-24 21:45:23 116

转载 UCOSIII---UCOSIII的初始化和启动

UCOSIII系统初始化在使用UCOSIII之前我们必须先初始化UCOSIII,函数OSInit()用来完成UCOSIII的初始化,而且OSInit()必须先于其他UCOSIII函数调用,包括OSStart()。一般UCOSIII的main函数遵循以下的格式编写:int main(void){ OS_ERR err; …… //其他函数,一般为外设初始化函数 …… OSInit(&err); …… //其他函数,一般为创建任务函数 ……

2021-04-24 21:31:21 692

原创 STM32RTC功能如何在原理图中实现

如果你在项目中需要开启实时时间的功能,即就是RTC功能,STM32单片机的RTC功能不仅要在软件上实现,首先要在硬件上实现基本功能,下面我们就来看一下stm32的时钟树。1 可以从最左侧的时钟线上看出,要想启动时钟树,首先要在OSC_IN和OSC_OUT引脚上接一个8M的晶振来给时钟树提供时钟,如果要使用RTC功能,我们就需要在OSC32_IN和OSC32_OUT间接一个32.768KHZ的晶振来驱动RTC时钟(32khz振荡器RTC与校准)。2 由于rtc需要时刻工作,所以我们需要在BAT引脚出加

2021-04-23 22:11:34 5039

原创 STM32---BOOT0和BOOT1

最近在负责一个项目的原理图绘制,在绘制过程中对BOOT0和BOOT1的引脚作用不是特别清楚,看了数据手册之后一目了然,现在分享给大家。STM32一共有三种启动模式,在STM32数据手册的BOOT modes中有详细的介绍。下面是数据手册链接,大家可以下载查看。Main Flash memory是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。System memory从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一

2021-04-23 21:42:14 2408

原创 AD----如何将立创EDA元器件封装库导入AD库

如何将立创元器件封装库导入AD库最近负责的一个项目中需要设计PCB,在此过程中遇到原理图封装的问题,在立创中有大量·的原理图封装可以使用,现在把思路和经验分享给大家。立创EDA 立创商城打开立创商城网站后,立创我们开始搜索自己所用的元器件已经他的封装库。操作步骤1.搜索元器件例如搜索STM32F103C8T6芯片结果如下,2.开始下载文件3.点击下载文件链接出现如下图片情况,点击立即使用4.出现了工程文件,记得注册账号,保存到工程5.导出AD文件,如下图操作。点击

2021-04-22 00:28:23 12370 2

原创 AD---如何新建PCB工程

AD如何新建PCB工程要想新建一个工程,首先应该先创建一个原理图文件,然后再创建PCB文件。新建工程并添加原理图文件和PCB文件首先在文件栏下,点击新建,在新建中,在project窗口下,会有一个名为PCB_Projectx.prjPCB的文件。在PCB_Projectx.prjPCB上点击右键,添加新的原理图(Schematic)文件与PCB文件。保存文件工程在PCB_Projectx.prjPCB上点击右键保存工程,新建一个文件夹来保存此工程。保存完成以后,工程窗口下的文件。

2021-04-22 00:04:03 3261

原创 UCOSIII---任务就绪表及任务调度和切换

多任务操作系统的主要工作是为系统中处于就绪状态的任务分配CPU资源,其中涉及的两个关键是:判断哪些任务处于就绪状态、确定哪个任务应该马上得到执行,即任务调度。任务就绪表在UCOSIII中,所有已经就绪等待运行的任务都会被放在一个所谓的就绪表中,任务就绪表包括两个部分:一个就绪优先级位映射表OSPrioTbl[],用来标明哪个优先级下有任务就绪;一个就绪任务列表OSRdyList[],其中包括指向各个就绪任务的指针。任务就绪表记录了系统中所有处于就绪状态的任务,从代码上来看它就是一个类型为INT8U的数

2021-04-17 22:25:19 1304

原创 STM32系统中掉电保存数据的方法

STM32系统中掉电保存数据的方法在嵌入式设备开发中,往往需要保存一些掉电不易失性的数据,如果系统配置、用户定制信息等等,如果增加额外的ROM IC,比如(基于I2C的24C02等等)往往会造成额外的PCB空间增大,硬件成本增加,降低产品的性价比。如果单从实用性来讲,在stm32的系统中,诸如此类的应用,推荐如下3个方法可以去尝试和借鉴。基于IIC协议的24C02(EEPROM)在STM32控制器中,如果需要掉电之后保存一些有用的数据,并且硬件条件支持EEPROM,建议你使用EEPROM来保存掉电丢失

2021-04-17 21:06:15 21919 6

转载 C语言---结构体,共用体,枚举,typedef声明

C语言结构体结构体定义:C语言允许用户允许自己建立由不同类型数据组成的组合型的数据结构。结构体类型的定义结构体类型定义的一般形式如下:struct 结构体名{ 数据类型 成员1; 数据类型 成员2; 数据类型 成员3; ...};其中,struct是关键字,是结构体类型的标志。关于结构体定义的注意点:结构体的成员名可以与程序中其他定义为基本类型的变量名重名,不会出现冲突;结构体定义最后是以分号结束的,不要遗漏;如果结构体类型定义在函数内部,则这个类型名

2021-04-11 21:25:56 568

原创 UCOSIII-任务管理

任务管理在实时应用程序的设计过程中,通常需要把要完成的工作分为多个任务来实现,每个任务只负责其中一部分的工作。用户使用ucos-III可以很容易做到这一点。一个任务就是一个简单的程序,可以认为其独享中英处理器。实际上,在只有一个CPU时,任何时刻只有一个任务能够得到执行。UCOS-III支持多任务管理,允许应用程序有任意多个任务。任务的最大数目仅仅受限于处理器的存储器容量。多任务管理实际上就是多个任务调度和切换CPU使用权的过程。在任务相继执行的过程中,CPU的使用权在任务间不断切换。多任务管理使系统看

2021-04-11 21:23:24 644

原创 keil中使用Astyle格式化你的代码

Astyle关于AstyleAstyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进、格式化、美化。Home Page: http://astyle.sourceforge.net/Project Page: http://sourceforge.net/projects/astyle/下载链接:Astyle如何将Astyle加入到KEIL1 将Astyle解压出来放在安装MDK的文件夹中2 µVi

2021-04-11 14:28:55 454 1

原创 UCOS-III系统概述

一 前后台系统1 前后台系统概述早期嵌入式开发没有嵌入式操作系统的概念 ,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念。通常把程序分为两部分:前台系统和后台系统。**前台也称做中断级,后台是任务级。**简单的小系统通常是前后台系统,这样的程序包括一个死循环和若干个中断服务程序:应用程序是一个无限循环,循环中调用API函数完成所需的操作,这个大循环就叫做后台系统。中断服务程序用于处理系统的异步事件,也就是前台系统。前台是中断级,后台是任务级。很多低成本,大批量的微控制器

2021-04-11 10:52:59 4144

原创 keil中如何切换光标

keil中光标切换平时在使用keil时鼠标光标一般是竖杠,有时候误操作后光标会变成横杠,这个时候写代码极不方便,一般从横杠切换到竖杠的时候,首先需要按NUM LOCK将小键盘数字锁住之后再按INSET之后就可以进行光标的切换了,注意有些电脑上的INSET键为缩写,大家注意就可以了。希望可以给大家带来帮助。...

2021-04-04 22:13:07 3361 2

原创 浅谈MQTT协议

MQTT协议一 MQTT协议MQTT 是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,因此易于实现。这些特点使得它对很多场景来说都是很好的选择,包括受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT),这些场景要求很小的代码封装或者网络带宽非常昂贵。二 MQTT协议特点本协议运行在 TCP/IP协议,或其它提供了有序、可靠、双向连接的网络连接上。它有以下特点: 使用发布/订阅消息模式,提供了一对多的消息分发和应用之间的解耦。 消

2021-04-04 08:50:05 305

原创 C语言---C语言预处理指令与条件编译

C语言预处理指令C语言规定:源程序中可以加入一些预处理指令。但预处理指令并不是C语言本身的组成部分,编译器不能识别它们,不能直接对这些指令进行编译。在使用时需要以“#”开头,用以与C语言区分。所谓预处理,就是指源程序在进行编译的第一遍扫描(词法分析和语法分析)之前所做的工作由预处理程序完成。当对一个源程序进行编译时,系统将自动引用预处理程序对源程序中的预处理部分进行处理(代替),处理完毕自动进入对源程序的编译。C语言宏定义在C语言源程序中允许用一个标识符来表示字符串,称为宏。宏定义是以“#”开头的,

2021-03-08 21:17:47 303

原创 C语言---指针(指针与数组,指针与函数)

指针指针是C语言的一个重要组成部分,是C语言的核心,精髓所在,用好指针可以在C语言编程中祈祷事半功倍的效果。一方面,可以提高程序的编译效率和执行速度以及实现动态的存储分配;另一方面,使用指针可使程序更灵活,便于表示各种数据结构,编写高质量的程序。指针概念在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,例如int型占4个内存单元,char型占1个内存单元。为了正确地访问这些内存单元,必须为每个内存单元编上号,根据一个内存单元的编

2021-01-12 10:28:48 353

原创 FreeRTOS介绍

FreeRTOS是什么?1.Free 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 uC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。2.操作系统允许多个任务同时运行,这个叫做多任务。实际上,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务。任务调度在各个任务之间的切换非常快,就给人们造成了

2020-12-25 19:26:02 1132

原创 STM32---keil5打开keil4项目工程时出现不兼容问题的解决方案

MDK5打开MDK4项目工程出现的问题最近在使用MDK5的时候发现了一个问题,先看一下现有的MDK的版本信息:在用MDK5打开MDK4版本的项目工程的时候,通常会跳出一个窗口Using an MDK Version 4 Project:This is an MDK version 4 project ,require Device support for Cortex-M based devices.解决方案在这个窗口中提示了两种解决方法:Migrate to Device Pack(迁移到设

2020-12-03 18:05:01 3422

计算机等级考试计算机网络.7z

适合计算机等级考试四级工程师

2021-09-28

计算机等级考试嵌入式工程师操作系统.7z

适合计算机四级嵌入式工程师

2021-09-28

linux常用命令集PDF版.pdf.zip

linux指令

2021-05-30

Keil.STM32L4xx_DFP.2.5.0.7z

stm32l4固件库

2021-05-30

STM32L431RCT6_2016-12-29.PDF

STM32L431RCT6数据手册

2021-05-30

STM32L431RCT6.rar

STM32L431RCT6工程模板,配置io,串口,定时器,看门狗,以及RTC

2021-05-30

STM32F103RCT6数据手册.7z

里面有STM32F103RCT6的数据手册以及stm32芯片选择的一个说明书,有需求的可以下载观看。

2021-04-23

STM32系列开发板底板封装库.7z

该库里面具有STM32开发板的一些地板封装,大家可以根据自己的需求下载

2021-04-21

IIC协议EEPROM实验.7z

该实验是测试通过IIC协议与EEPROM通信,并且将掉电保存的数据存到EEPROM中,大家如果需要可以下载测试。

2021-04-17

虚拟示波器---调试助手

这个可以将你想看的变量通过串口打印出来,对数据分析有很好的帮助,希望可以帮到大家。

2021-04-12

stm32学习资料.7z

以上是关于C语言和stm32的学习资料,都是自己整理的。希望可以给大家带来帮助。

2021-04-12

AStyle_windows.zip

Astyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进、格式化、美化。

2021-04-11

MQTT_pack.7z

此资源包含MQTT_PACK,可以直接进行移植。

2021-04-04

DHT11_ToOneNetByMqtt-main.zip

此内容为STM32+MQTT协议测试,想做物联网传输的友友们可以过来了解

2021-04-04

STM32接入OneNET_图片上传 .zip

为了让大家更好的学习STM32,所以将stm32f1的ESP8266程序上传提供大家学习,提高大家的实战水平,以及对STM32的深入学习。可以将图片通过串口经过ESP8266上传到onenet平台。

2020-11-19

(寄存器版本,适合阿波罗STM32F7开发板)扩展实验13 ATK-ESP8266 WIFI模块测试实验+原子云实验+WFH+20201110.7z

为了让大家更好的学习STM32,所以将stm32f1的ESP8266程序上传提供大家学习,提高大家的实战水平,以及对STM32的深入学习。

2020-11-17

STM32----步进电机驱动器

为了让大家更好的学习STM32,所以将stm32步进电机上传提供大家学习,提高大家的实战水平,以及对STM32的深入学习。

2020-11-15

OLED驱动程序------

为了让大家更好的学习STM32,所以将stm32f1的oled驱动程序上传提供大家学习,提高大家的实战水平,以及对STM32的深入学习。

2020-11-15

keil字体配色方案

这个是自己配置的keil字体配色方案,方便大家使用,大家也可以在此基础上自己修改,以此达到自己喜欢的编写代码环境。

2020-10-13

空空如也

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

TA关注的人

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