自定义博客皮肤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)
  • 收藏
  • 关注

原创 Cortex-M4架构

一条指令的执行可以分解为多个阶段,各个阶段使用到的硬件不同,这样指令执行就可以重叠,可以多条指令并行处理。在CPU正常执行过程中,外部发生了随机事件,CPU需要暂时中止正在执行的程序转而去处理所发生的事件。处理完成后,再返回到原来被中止的程序继续执行。

2024-04-08 14:56:47 1710

原创 初识电源管理

低功耗

2024-04-03 16:50:37 906

原创 ESP8266

ESP8266基础入门篇

2024-03-31 15:12:56 2286

原创 FreeRTOS(三)

FreeRTOS的事件和软件定时器

2024-03-26 19:41:25 950

原创 FreeRTOS(二)

FreeRTOS的信号量和互斥信号量

2024-03-24 15:44:07 749

原创 FreeRTOS(一)

初始FreeRTOS

2024-03-23 19:57:10 1820

原创 IIC协议

iic和iic需要注意的地方

2024-03-08 16:16:41 900 1

原创 实验一 基本定时器+外部中断+GPIO

嵌入式中断相关实验

2024-02-29 14:46:27 623

原创 Day04 嵌入式---基本定时器

使用基本定时器

2024-02-21 17:29:21 1188

原创 Day03 嵌入式---中断

NVIC、EXTI、SYSCFG简单认识

2023-12-01 23:40:38 1394

原创 Day02嵌入式---按键控灯

按键控制灯开关是一种常见的嵌入式系统示例项目,它通常用于演示嵌入式系统的基本控制能力。该项目由一个或多个LED和一个按键组成。通过按下按键,可以控制LED的开关状态,从而实现灯的亮灭控制。

2023-11-26 11:08:32 1002

原创 Day01 嵌入式 -----流水灯

嵌入式系统中的流水灯是一种常见的示例项目,通常用于演示嵌入式系统的基本功能和控制能力。流水灯由多个发光二极管(LED)组成,这些LED按照一定的顺序依次点亮和熄灭,形成一种像水流一样的流动效果。

2023-11-21 11:08:25 1492

原创 Linux Day18 TCP_UDP协议及相关知识

TCP/UDP协议

2023-09-21 21:21:52 414

原创 Linux Day17 生产者消费者

生产者消费者模型

2023-09-19 16:46:03 315

原创 Linux Day16 多线程的一些常见问题

代码从主程序开始执行,执行到线程函数时,创建线程,进入fun()后,加锁,打印“fun lock”,随后睡眠5秒,我们知道多线程是有并发这个特性,这个时候就会继续主函数,进行fork,这个时候我们发现打印了"child 准备lock",注意此时我们线程函数中的锁还没有解,就有了一个新的锁,说明父进程和子进程的锁不是共用一个锁,此后5秒睡眠时间结束,这时继续执行多线程函数,解锁打印“fun unlock”,但是我们发现一件事:此函数阻塞了。: 是在fork返回之前,在子进程上下文中被执行。

2023-09-18 23:40:52 226

原创 Linux Day15:线程安全

线程安全的几种方法

2023-09-17 18:40:48 165

原创 Linux Day14 :线程的创建与同步

线程同步:信号量和互斥锁

2023-09-14 15:56:10 152

原创 Linux Day13 ---信号量

信号量和共享内存的使用

2023-09-13 15:40:46 170

原创 Linux Day12 ---进程间通信

进程间通信

2023-09-03 17:51:12 378

原创 Linux Day11---mbash项目(二)

观看本文之前请先阅读Linux Day10的相关内容,实现了Linux Day10剩下的命令函数

2023-08-24 16:57:20 633

原创 Linux Day10 ---Mybash

模拟bash学习系统如何实现输入命令

2023-08-24 11:11:02 298

原创 Linux Day09

进程替换和信号使用

2023-08-18 16:41:43 498

原创 Linux Day08

有第一个可知,没有free,进程结束后,所有分配给该进程的资源都被回收。如果申请空间大于物理内存空间+虚拟内存空间,那么申请空间将失败。父进程堆区申请的空间复制后,子进程也会有一份,也需要释放?没有free,进程结束后,所有分配给该进程的资源都被回收。② 申请的空间 < 物理内存空间 + 虚拟内存空间。前面的内存为实际内存,后面的交换空间为虚拟内存。父进程在堆区申请的空间,也会被复制到子进程中。当申请空间d大于内存时,使用内存+虚拟内存。子进程是子进程的空间,父进程是父进程的空间。

2023-08-11 11:29:36 259

原创 Linux Day07

Linux进程复制相关内容

2023-08-10 20:40:34 700

原创 Linux Day06

fork复制进程

2023-08-05 18:15:37 452

原创 Linux Day05

静态库,共享库

2023-08-03 11:36:40 189

原创 Linux Day04

Linux一些基础知识

2023-07-30 14:59:31 387

原创 Linux Day03

Liunx一些常用命令

2023-07-28 12:05:18 1085

原创 Linux Day02

了解Linux常用命令

2023-07-26 23:05:04 368

原创 Linux Day01

LinuxDay01

2023-07-24 21:42:09 351

原创 C++继承相关内容(三)

前情概要:无论是公有继承还是私有继承,派生类的方法是可以访问自身的公有,保护和私有的,还可以访问基类的保护和公有的。在派生类中,基类的保护类似于公有,是可以访问的。但是在外部环境中是不可以访问保护和私有属性的对象或方法。

2023-06-08 12:09:58 1178

原创 C++继承相关内容(二)

系统在调用派生类的拷贝构造的时候,会先去构建父类,这个我们在上一节说过,因为这里并没有明确派生类中Person这个不具名对象的值,所以调用了Person父类中的空参构造,因此此时值为0;如果我们此时明确指出Person的值与student中的值是一致的,那么就可以实现。系统在调用Student的拷贝构造时发现不存在,会默认的给出一个拷贝构造函数,这个函数里可以调用父类的拷贝构造函数,因此是可以的。这里我们必须明确在派生类的构造函数中指出派生类中的不具名对象的值等于所引用的值,会出现切片现。

2023-06-06 17:58:07 562

原创 c++继承相关内容(一)

c++继承相关内容

2023-06-04 23:29:52 563

原创 使用柔性数组重写MyString

String类重写

2023-05-24 15:38:39 682 1

原创 使用模板构建泛型栈

使用c++模板栈的封装

2023-05-15 21:30:13 473

原创 动态规划刷题篇【Day01】

假设原始答案为ar[0],计算ar[0]和ar[0]+ar[1]哪个大,如果后者大,将其值存入数组,否则新数组该位仍为ar[0]。输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。因为新数组保存的是每次得到的最优解,遍历该数组得到最大的数,就是该问题的解。要求:时间复杂度为 O(n)O(n),空间复杂度为 O(n)O(n)进阶:时间复杂度为 O(n)O(n),空间复杂度为 O(1)O(1)选取子问题里面的最优解即和最大。

2023-05-08 23:46:32 481

原创 c++基础学习Num04

如果按照上述方法打印二维数组将会得到三个一维数组的地址,因为基于范围的for是将ar[i]提取出来,依次迭代,由于上述二维数组是一个三行4列即由三个一维数组构成,所以打印的三个一维数组的地址。*s+1---> *s解引用变成一级指针,一级指针+1代表p0这个一级指针刚开始存储a0这个整型变量的地址,+1后就是a1这个变量的地址,偏移量是int类型,四字节。p+1-->指针由ar0指向ar1 ,*(p+1)指针指向数组ar1中的元素, *(p+1)+2指针就指向ar1[2],通过解引用对值进行修改。

2023-05-05 21:03:21 433

原创 点分十进制---ip地址转换

点分十进制

2023-04-19 09:02:37 963 1

原创 0-1背包

否则:分两种情况:如果选择当前物品,则对应的当前背包容量减去当前物品重量,价值加上当前物品价值,如果不选择,则从第i+1开始选,需要对这两种情况的价值进行比较,去最大的结果。Xi表示第i物品,用1表示选了该物品,用0表示未选该产品,那么Xi*vi就是所选物品的价值,求和后就是选了的总价值。2.设计基本元素后,我们从最简单情况开始,当i==n时表示只有一个元素,我们只需要判断他的重量与当前背包容量,如果小于当前容量则可以存放,如果大于则不能。注意:i是一个区间:i,i+1,i+2,....,n;

2023-04-14 00:33:28 109

原创 泛型顺序栈设计

在学习数据结构前面的链表,栈,队列的时候我们往往是只能解决一种数据类型的问题,比如用到的数据是int类型,设计出来的就是只能解决int这一类型的,如果想要解决char等类型就需要重新写。因此泛型编程就诞生了。C语言中的泛型编程是用我们前面所讲的void*无类型指针去实现的,将最后强制转化成我们想要的类型即可。当然如果你学过c++,其实就是模板。在开始今天的真实内容前我们先来。

2023-04-05 14:50:35 198 1

空空如也

空空如也

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

TA关注的人

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