自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 51单片机-动态数码管显示

动态数码管显示就是在数码管中显示多个数字,利用了人眼的视觉差显示了数字,但是存在一个问题,在顺序执行显示数字和数值的设置时候,数码管的显示数据会出现错乱,因此,需要执行消影,每次在数码管上显示了一个数字之后,需要关闭数码管,再继续显示下一个数码管。

2024-08-14 00:49:13 209

原创 51单片机学习记录-数码管操作

这里实现了静态数码管的显示。51单片机一共有可以显示4个数字,可以通过控制P2(4-2)的端口选择8个数字显示器中的一个显示数字,控制P0端口写入显示的数值信息。将操作的逻辑使用了函数Nixie进行了封装。

2024-08-13 23:56:10 267

原创 51单片机-数码管实验

下面是138译码器,使用P22-P24三个比特控制选中显示数字的数码管。显示了数字6,下面是数码管的电路图,使用P0口可以控制数码管的亮灭。注意到LCD有三个灯也是亮的,这是因为存在端口冲突。在单片机上显示了数字6。

2024-08-12 01:07:28 297

原创 51单片机-LED实验三-使用独立按键控制LED灯移位

使用了移位运算,逻辑比较简单。LED的控制实验至此完结!

2024-08-11 13:28:01 190

原创 51单片机-LED实验二

使用51单片机进行LED灯的实验,使用8个LED灯展示二进制数,使用独立按键控制二进制数的加法,每次按下独立按键K2,就让二进制数加一,定义了一个LedNum,表示二进制数,二进制数取反之后可以得到输出到LED端口的8比特数值。

2024-08-11 00:24:16 526

原创 51单片机-LED实验

实现了按下独立按键,LED灯亮,松开独立按键,LED灯灭的功能。

2024-08-10 23:55:50 276

原创 [51单片机入门]使用独立按键控制LDE灯

P3_1是第一个独立按键的值,把P3_1的值赋给第一个LED灯,可以实现独立按键控制LED.

2024-08-07 23:27:24 73

原创 51单片机-LED灯流水线

mac电脑上进行开发。

2024-08-05 23:26:21 91

原创 51单片机小项目——点亮LDE

使用mac电脑进行开发的,环境搭建花了点时间。终于可以点亮LED了,记录一下!

2024-08-05 23:19:17 189

原创 987. 二叉树的垂序遍历

使用dfs计算每个节点的row,col,以及val,根据col,row和val进行排序,排序完之后获取答案。

2024-02-13 12:18:32 188 1

原创 leetcode 236 二叉树的最近公共祖先

使用dfs求解,根据返回值判断是否存在节点。返回值如果是空,表明当前子树不存在p或q。把p和q分为两种情况,一种是在p或q在当前节点,或者p或q分别在当前节点的左右子树上。如果当前节点是p或者q,返回当前节点。

2024-02-09 09:33:13 228 1

原创 分治法求解最大子数组和问题

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。53. 最大子数组和。

2024-02-08 22:19:49 313

原创 C语言hash表的使用例子

【代码】C语言hash表的使用例子。

2024-02-08 10:31:14 163

原创 leetcode 1921

踩坑点:double类型的比较, C语言有qsort的排序函数,需要设计比较函数,double类型的数据存在精度问题,不能直接用==号判断数据是否相等,需要通过设置精度eps。

2024-01-30 09:35:08 473

原创 epoll_wait造成惊群问题

使用epoll_wait会造成惊群问题,执行下面的代码会出现连接异常。5有多个epoll_wait返回,但是只有一个accept返回,其他的进程会被阻塞在accept这里,无法返回。

2023-11-20 20:24:51 158

原创 signal 处理函数使用

【代码】signal 处理函数使用。

2023-11-20 16:46:07 80

原创 bash条件语句练习

【代码】bash条件语句练习。

2023-11-18 12:30:26 100

原创 makefile中的$^表示的意思

2023-11-18 01:05:40 45

原创 make条件判断以及for循环

基础的makefile条件判断

2023-11-17 13:23:48 98

原创 make的内置变量

当编译器应该调用链接器时为编译器提供的库标志或名称,‘LD’。当编译器应该调用链接器时向编译器提供额外的标志,‘LD’, 例如-L。用于编译或预处理 Fortran 和 Ratfor 程序的程序;默认 ‘特克斯2DVI’。提供给汇编器的额外标志(当在 ’ 上显式调用时).s’ 或者 ‘.S’ 文件)。提供给 C 预处理器和使用它的程序(C 和 Fortran 编译器)的额外标志。为 Ratfor 程序提供给 Fortran 编译器的额外标志。编译 Pascal 程序的程序;默认 ‘个人电脑’。

2023-11-17 12:45:12 113

原创 makefile学习

这个是今天写的一个makefile脚本,记录一下!

2023-11-17 11:58:25 43

原创 arm开发板

一个简单的hello world程序。

2023-11-16 23:21:25 669

原创 类的成员函数后面加const

表明成员函数不会修改成员变量的值,常成员函数,可以通过常量对象调用。

2023-11-13 00:02:38 132

原创 constexpr关键字

用于函数,变量前面,要求编译器在编译时就确定值。

2023-11-12 23:21:55 30

原创 explicit关键字的使用

主要是用于类的构造函数,在构造类的实例时,编译器会进行隐式替换,例如,通常,当一个构造函数只接受一个参数时,该构造函数可以用来执行隐式类型转换。然而,这种隐式转换有时可能导致一些意外的行为,为了防止这种情况发生,可以使用 explicit 关键字。下面的代码obj就使用了隐式类型替换。

2023-11-12 23:17:10 109

原创 emplace_back和push_back的区别

2023-11-08 00:30:44 29

原创 unique_lock

一种可以推迟加锁的模版类。

2023-11-07 23:58:23 34

原创 mutex用法

一个使用mutex的错误用法,mutex是一个互斥原语,lock并不是锁住变量,只是让临界区的代码无法执行。mutex和变量并没有任何的联系。只有通过写正确的代码才能让mutex保护数据。(下面的代码mMutex并不能保护变量m)。

2023-11-07 16:38:14 44

原创 c++可变参数模版用法

【代码】c++可变参数模版用法。

2023-11-05 21:28:18 28

原创 lambda表达式使用

【代码】lambda表达式使用。

2023-11-02 16:30:16 27

原创 使用函数对象创建线程

【代码】使用函数对象创建线程。

2023-11-02 16:22:33 28

原创 c++lamba表达式获取线程执行结果

【代码】c++lamba表达式获取线程执行结果。

2023-11-02 16:21:04 25

原创 singal用法

【代码】singal用法。

2023-11-01 13:42:36 27

原创 cmake创建项目的脚本

最近在创建c++项目的时候需要创建手动创建文件,所以了下面的脚本,可以快速创建c++项目。

2023-11-01 13:19:20 41

原创 mmap使用踩坑(读写文件)

需要通过write给增加文件大小,lseek可以通过移动seek指针配合write增加文件大小。2.在mmap的时候一定要设置MAP_SHARED或者MAP_PRIVATE,否则的话会出错。1.open和mmap配合使用,如果是刚新create 的文件,文件大小为0.下面是一个写文件并且在子进程中读取文件并输出的例子。

2023-10-30 20:52:27 274

原创 qemu概述

qemu是一个虚拟化的开源项目,虚拟化就是模拟不同的CPU硬件架构,最终的代码运行实际上还是在host(宿主机)上执行的,qemu的思想非常简单,存在一个TCG,把源指令集翻译成目标指令集。还有一个软件MMU,一个内存管理单元。如果想从事qemu相关的虚拟化开发技术,可以阅读qemu的源码。只需要知道怎么用qemu就行,没必要在深挖。

2023-10-30 12:42:07 34

原创 posix消息队列一些限制

2023-10-30 02:08:20 37

原创 mqueue使用方法

mq_open() 的name一定要在名字前加一个/,不然会出错的。可以在同一个进程中修改和读取message queue.

2023-10-30 01:40:02 105

原创 semaphore保护mmap共享内存

使用有名信号量保护共享内存,防止数据的不一致。4096在使用sem_open()和sem_unlink()时,需要注意死锁的问题,如果正确调用了sem_open创建了一个信号量,那么这个信号量就一直存在于内核中,即使调用了sem_close()关闭信号量,信号量依旧存在与内核中,sem_close()只是阻止了程序使用这个信号量,并不删除信号量,所以需要调用sem_unlink(“the name semaphore”)删除信号量。

2023-10-29 14:36:02 34

原创 mmap共享内存

mmap创建了共享内存,使用两个进程同时访问的时候,需要注意同步问题,需要用互斥量保护内存。下面是多次执行的结果,最终的变量不确定。

2023-10-29 01:59:27 21

空空如也

空空如也

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

TA关注的人

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