自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FreeRTOS学习笔记—— 系列文章目录

FreeRTOS学习笔记——系列文章目录(1)ARM架构调用标准AAPCS、现场的保存与恢复(2)官方源码、源码结构、编程规范(3)任务管理(4)同步与互斥之队列 更新中 更新中

2022-05-25 20:47:32 704

原创 FreeRTOS学习笔记——(5)信号量

系列文章目录FreeRTOS学习笔记—— 系列文章目录文章目录系列文章目录信号量一、信号量函数1、创建2、删除3、give 、 take 函数二、信号量的应用1、二进制信号量(防止数据丢失)总结信号量上一篇写的队列可以用来传输数据,但是有时我们只需要传递状态,并不需要传递具体的信息,比如:我用完串口了,通知你一下,你可以使用了。这时就可以使用信号量( semaphore ),只是记录状态或者记录数量,不传输数据,更节省内存。信号: 起到通知的作用。量: 可以用来表示资源的数量

2022-10-28 15:46:30 1325 1

原创 FreeRTOS学习笔记——(4)同步与互斥之队列

文章目录同步与互斥队列一、队列函数1、创建2、复位3、删除4、写队列5、读队列6、查询7、覆盖、偷看二、队列的应用1、串口发送字符串2、分辨数据源3、队列集同步与互斥同步:就是:我(A)正在用会议室,你(B)等会再用。互斥:就是:我(A)正在用会议室,你(B)不能进来用。互斥可以使用同步来实现,你(B)等我(A)用完会议室,你(B)再用会议室。这就是使用同步来实现互斥。在这个过程中,A、B是互斥地访问会议室,会议室被称之为临界资源。这里使用了同步机制实现了“临界资源”的“互斥访问”。任务A

2022-05-25 20:35:52 568

原创 FreeRTOS学习笔记——(3)任务管理

文章目录一、任务的创建与删除1、什么是任务2、创建任务1、动态创建任务函数2、动态创建任务函数3、创建任务及删除任务二、 任务优先级三、任务状态四、Delay函数五、空闲函数及钩子函数六、任务调度一、任务的创建与删除1、什么是任务在FreeRTOS中,任务就是一个函数,例如void TaskFunction(void * param){// while (1) //任务函数通常实现为无限循环 { printf("Task"); }}2、创建任务创建任务有两种方法:动态创建

2022-05-14 14:48:01 720

原创 FreeRTOS学习笔记——(2)官方源码、源码结构、编程规范

文章目录一、官方源码1、源码2、FreeRTOS 目录结构二、数据类型及编程规范1.数据类型2.变量名3.函数名3.宏的名一、官方源码1、源码链接:https://pan.baidu.com/s/12ISD5hsRcoFzrdUG78p4VA?pwd=0e0h提取码:0e0h2、FreeRTOS 目录结构以 keil 工具下 STM32F103 芯片为例,其FreeRTOS 的目录如下图:图1:百问网图主要有 2 个目录1、DemoDemo 目录下是工程文件,以”芯片+编译器“组合

2022-05-13 16:17:15 496

原创 嵌入式学习 QT 篇——(2)C++ 基础

文章目录C++1、定义类2、定义对象3、类的函数成员4、类的重载特性5、构造函数与析构函数6、类的继承7、虚函数与纯虚函数C++C++ 是 C 语言的升级版,很多 C 语言的语法在 C++ 中是通用的;C++ 是面向对象的编程,在面向对象的编程中 C 语言叫做结构体,C++ 叫做类。1、定义类下面是定义的一个类class student{public: char name[64]; int age; void test();};类是用 class 来修饰的,其中的p

2022-05-08 20:08:58 396

原创 嵌入式学习 QT 篇——(1)在 Windows 上搭建 QT 开发环境

文章目录前言在 Windows 上搭建 QT 开发环境——Qt Creator前言Qt 是基于 C++ 的跨平台图形界面应用程序开发框架。Qt 程序可以自己直接编写,使用集成开发环境 Qt Creator。在 Windows 上搭建 QT 开发环境——Qt Creator1、安装包下载官方地址:Qt Downloads我下载的 Qt Creator 版本是 5.11.1,进入页面后点击下载qt-opensource-windows-x86-5.11.1.exe下载完后是如下图2、

2022-05-06 14:26:21 3739

原创 FreeRTOS学习笔记——(1)ARM架构调用标准AAPCS、现场的保存与恢复

文章目录前言一、ARM架构调用标准AAPCS1、寄存器介绍2、寄存器使用规则二、现场的保存与恢复一、ARM架构调用标准AAPCS1、寄存器介绍CPU中共有 17 个寄存器:寄存器备注R0 - - -R34个寄存器用来传参R4 - - -R118个寄存器保存局部变量R12内部调用暂时寄存器;别名: IP

2022-05-04 11:29:50 1121

原创 面向对象的编程思想写单片机程序——(3)学习笔记 之 程序分层、数据产生流程

文章目录系列文章目录程序分层 1、管理层 2、具体设备层 3、内核抽象(KAL)层 4、芯片抽象(CAL)层小结程序分层通过面向对象的编程思想来编程单片机程序,可以增强程序的可移植性,对于初入嵌入式单片机行业的小白,也更容易转向嵌入式Linux方向,对于如何抽象对于的结构体相关文章在本专栏前两篇,通过程序分层可以有效的将硬件与软件进行隔离,本文主要记录如何对程序

2022-04-25 14:40:42 2783

原创 面向对象的编程思想写单片机程序——(2)学习笔记 之 怎么抽象出结构体

文章目录系列文章目录 怎么抽象出结构体 1、将子系统抽象为结构体分析 2、输入系统结构体 小结怎么抽象出结构体在面向对象的编程思想写单片机程序——(1)学习笔记 之 程序设计中概述了面向对象的方法写单片机程序是实现程序高内聚、低耦合的方法,在 JAVA 编程中是将其封装成类来实现高内聚的,而在单片机的编程中就是将其抽象成结构体了,那么该如何抽象出对应的结构体呢 ?? 本文将记录如何抽象出结构体。1、将子系统抽象为结构体分析本文以

2022-04-20 16:52:11 1136 2

原创 面向对象的编程思想写单片机程序——(1)学习笔记 之 程序设计

前言高内聚、低耦合的软件编程中判断程序好坏的标准,目的就是能够使程序可重用性,可移植性增强,那么在单片机嵌入式的编程中能否做到高内聚、低耦合性呢 ?? 能否通过程序设计来实现呢 ?? 肯定是可以的,可以通过使用面向对象的编程思想来设计程序,通过对程序分层来隔离硬件对软件程序的依赖性。那么如何使用面向对象的编程思想来编写单片机程序呢 ??? 请持续关注本栏内容,本栏内容将记录如何进行面向对象编程,如何进行程序分层。。程序怎么写?本章内容以

2022-04-20 11:17:24 2471 1

原创 C语言加强篇——(3)学习笔记 之 链表的增、删、改、查

文章目录 一、链表 1、什么是链表 2、单链表 (1)单链表的遍历 (2)节点的插入 (3)节点的删除 (4)节点的修改 (5)节点的查找 3、双链表 小结一、链表1、什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点(链表中每一个元素称

2022-04-16 18:43:16 1266 3

原创 C语言加强篇——(2)学习笔记 之 结构体、结构体指针、函数指针

一、结构体 1.什么是结构体 2.结构体占空间吗? 3.结构体成员变量赋值 4.结构体应用 二、函数指针 小结前言结构体1.什么是结构体C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。为了定义结构,您必须

2022-04-14 13:08:57 6473 1

原创 C语言加强篇——(1)学习笔记 之 变量、指针、关键字

前言要深入学习单片机、RTOS等,就需要掌握ARM架构、栈、指针、链表等知识。学习C语言干货推荐:菜鸟教程本专栏文章使用两个口诀,来深入学习C语言,通俗易懂。这两个口诀就是:变量变量,能变,就是能读能写,必定在内存里。指针指针,保存的是地址,32位处理器中地址都是32位的,无论是什么类型的指针变量,都是4字节。一、变量和指针直接上示例,从实际现象中学习

2022-04-13 13:45:25 3378 2

空空如也

空空如也

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

TA关注的人

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