自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用HAL库实现0.96寸OLED的显示

OLED的实现需要包括oled.c,oled.h,oledfont.h文件,我们可以在淘宝卖oled模块的商家详情页中获取例程和这三个文件,其中很多都是标准库实现的,我们可以自己移植到项目中使用HAL库实现。在oled.c中修改OLED的初始化,直接调用MX_GPIO_Init()函数,并且包含头文件#include "gpio.h"最后如果还是发现有报错可以根据提示进行修改,完成!

2024-08-24 16:40:01 474

原创 关于在一个stm32项目中同时实现多个模块

经常在写完一个按键点亮led或beep,写完串口通信,oled显示后无法再实现前面的蜂鸣器响起效果,最后发现是因为同时在while()循环中实现了其他模块的代码,使得虽然编译无错误但是无法出现结果,待解决...

2024-08-24 15:54:49 345 2

原创 使用HAL库实现按键控制LED和蜂鸣器

下载STM32CubeMX实现项目的初始配置(寄存器操作),下载keil对程序进行编译烧写。最后可以在自己的开发板上试试啦!

2024-08-24 15:49:30 324 1

原创 STM32F103C8T6单片机原理图设计(PCB板)

对比过一些原理图,我发现除了特定协议的引脚功能,只要功能正确,可以自己选择连接对应的引脚。BH1750光照度传感器:GND-GND;SDA-SDA(PB6/PB7)WIFI(ESP8266)模块:GND-GND;RX-TX(PA2/PA3)0.96OLED模块:GND-GND;SDA-SDA(PA5/PA7)USB转TTL模块:GND-GND;RX-TX(PA9/PA10)至此完成了智能家居的原理图,这是我想尝试的第一个嵌入式项目!LED/BEEP模块:PA6/PA4。按键模块:PB0/PB1。

2024-08-16 22:44:25 1037

原创 vscode远程登录ubuntu linux报错,一直输入密码问题

通通运行一遍后,再次打开vscode连接,发现连接成功。删除日志文件,特别是在。

2024-06-03 21:04:43 614

原创 C++聊天服务器数据库创建

create database chat:创建一个数据库chat。表User包含:用户id、用户名、用户密码、当前登录状态。表OfflineMessage包含:用户id、离线消息。表GroupUser包含:组id、组员id、组内角色。表AllGroup包含:组id、组名称、组功能描述。show databases:展示所有的数据库。表Friend包含:用户id、好友id。use chat:使用数据库。

2024-05-08 23:13:46 241

原创 基于muduo网络库开发服务器程序完整代码

3.明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数。4.在当前服务器类的构造函数当中,注册处理连接的回调函数和处理读写事件的回调函数。5.设置合适的服务端线程数量,muduo库会自己分配I/O线程和worker线程。2. 创建EventLoop事件循环对象的指针。实现VS Code远程连接Ubuntu虚拟机进行编译。1.组合TcpServer对象。退出服务器端:Ctrl + ]

2024-04-28 23:50:21 385

原创 json序列化和反序列化代码演示

【代码】json序列化和反序列化代码演示。

2024-04-24 23:18:00 275

原创 Ubuntu Linux下安装Muduo网络库最新详细步骤

此处是引用其他博主链接:https://pan.baidu.com/s/1Rqrnz8NY6UOiFemYQv-63Q 提取码:8nio。进入muduo库的解压目录里打开终端 Open in Terminal。下载完成后找到压缩包,右键点击选择Extract to... 解压缩。修改CMakeLists.txt文件。到此muduo网络库安装成功!其中报错是因为权限不够。Esc:返回正常模式。

2024-04-10 21:02:52 863

原创 在Ubuntu Linux中安装boost库详细步骤

在安装目录中找到压缩包,右键点击压缩包,点击Extract to...解压缩至选择的目录。下载boost的最新版安装包。

2024-04-09 23:55:06 1103 1

原创 三行命令解决Ubuntu Linux联网问题

但是我的 $ ls /sys/class/net 命令无法显示无线网络接口,那么没有无线网卡?但是我的apt update 命令依然错误,待解决。

2024-04-09 00:29:30 621

原创 对称二叉树(C++解法)

给你一个二叉树的根节点root, 检查它是否轴对称。truefalse。

2023-11-09 21:41:14 511

原创 翻转二叉树(C++解法)

给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。

2023-11-07 15:32:28 483

原创 相同的树(C++解法)

给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

2023-11-07 14:42:58 354

原创 二叉树的最大深度(C++解法)

给定一个二叉树root,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。32。

2023-11-06 20:55:14 847

原创 分隔节点(C++解法)

给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有x的节点都出现在x的节点之前。你应当两个分区中每个节点的初始相对位置。:[1,2]

2023-11-04 20:13:56 170

原创 旋转链表(C++解法)

给你一个链表的头节点head,旋转链表,将链表每个节点向右移动k个位置。[2,0,1]

2023-11-04 11:45:33 321

原创 删除排序链表中的重复节点II(C++解法)

给定一个已排序的链表的头head删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。

2023-11-01 23:19:04 181

原创 删除链表的倒数第n个节点(C++解法)

给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。

2023-11-01 22:16:33 390

原创 反转链表II(C++解法)

给你单链表的头指针head和两个整数left和right,其中。请你反转从位置left到位置right的链表节点,返回。[5]

2023-10-31 23:40:05 240

原创 随机链表的复制(C++解法)

给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的。深拷贝应该正好由n个节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。。例如,如果原链表中有X和Y两个节点,其中。那么在复制链表中对应的两个节点x和y,同样有。返回复制链表的头节点。用一个由n个节点组成的链表来表示输入/输出中的链表。

2023-10-31 00:20:12 290

原创 合并两个有序链表(C++)

将两个升序链表合并为一个新的链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。[][0]

2023-10-29 16:10:04 936

原创 两数之和(C++解法)

给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。[7,0,8][0]

2023-10-29 15:26:25 848

原创 环形链表(C++解法)

给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。pos。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。true链表中有一个环,其尾部连接到第二个节点。true链表中有一个环,其尾部连接到第一个节点。false链表中没有环。

2023-10-28 20:05:12 836

原创 逆波兰表达式求值(C++解法)

给你一个字符串数组tokens,表示一个根据表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。'+''-''*''/'9该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 96该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 622该算式转化为常见的中缀算术表达式为:= 17 + 5= 22。

2023-10-28 14:35:08 2438

原创 最小栈(C++解法)

设计一个支持pushpoptop操作,并能在常数时间内检索到最小元素的栈。实现MinStackMinStack()void pop()int top()--> 返回 -3.--> 返回 0.--> 返回 -2.

2023-10-27 22:09:14 479

原创 简化路径(C++解法)

给你一个字符串path,表示指向某一文件或目录的 Unix 风格(以'/'开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点()表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠'/'。对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。请注意,返回的'/''/''/''.''..'返回简化后得到的。"/home"

2023-10-27 00:03:27 613

原创 有效的括号(C++解法)

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。

2023-10-25 20:45:05 432

原创 用最少数量的箭引爆气球(C++解法)

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组points,其中表示水平直径在xstart和xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为startend, 且满足end,则该气球会被。可以射出的弓箭的数量。弓箭一旦被射出之后,可以无限地前进。给你一个数组points返回引爆所有气球所必须射出的弓箭数。

2023-10-24 14:55:20 289

原创 插入区间(C++解法)

给你一个按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。这是因为新的区间 [4,8] 与 [3,5],[6,7],[8,10] 重叠。

2023-10-24 11:56:46 391

原创 合并区间(C++解法)

以数组intervals表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].[[1,5]]区间 [1,4] 和 [4,5] 可被视为重叠区间。

2023-10-23 15:04:30 469

原创 汇总区间(C++解法)

给定一个的整数数组nums。返回的区间范围列表。也就是说,nums的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于nums的数字x。列表中的每个区间范围[a,b]"a->b"a!

2023-10-22 12:00:10 1153

原创 最长连续序列(C++解法)

给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。4最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。9。

2023-10-22 11:12:05 578

原创 存在重复元素(C++解法)

给你一个整数数组nums和一个整数k,判断数组中是否存在两个i和j,满足且。如果存在,返回true;否则,返回false。

2023-10-21 16:47:46 410

原创 快乐数(C++解法)

编写一个算法来判断一个数n是不是快乐数。如果n是快乐数就返回true;不是,则返回false。

2023-10-21 16:23:20 437

原创 两数之和(C++解法)

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]

2023-10-20 15:54:16 549

原创 字母异位词分组(C++解法)

给你一个字符串数组,请你将组合在一起。可以按任意顺序返回结果列表。是由重新排列源单词的所有字母得到的一个新单词。

2023-10-20 15:35:38 399

原创 有效的字母异位词(C++解法)

给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。

2023-10-19 20:30:55 235

原创 单词规律(C++解法)

给定一种规律pattern和一个字符串s,判断s是否遵循相同的规律。这里的指完全匹配,例如,pattern里的每个字母和字符串s中的每个非空单词之间存在着双向连接的对应规律。

2023-10-19 20:10:58 251

原创 同构字符串(C++解法)

给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

2023-10-18 16:31:59 305

空空如也

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

TA关注的人

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