自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (7)
  • 收藏
  • 关注

原创 分支管理策略

在实际开发中,我们应该按照几个基本原则进行分支管理:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

2023-12-04 18:14:17 56

原创 git stash详解

使用git stash可以将没有提交的内容(包括工作区和暂存区)保存至堆栈中。注意: 如果工作区新建了个文件,此文件从来没有被添加到暂存区,那么这个文件就不能被git管理,也就不能被保存到堆栈。

2023-11-28 16:00:48 1600

原创 git三个区

要对某个项目使用git进行管理,需要使用git init命令初始化git仓库 git init会在当前目录生成一个隐藏文件夹 .git 不要去修改这个文件夹下的任意东西。提示:以下是本篇文章正文内容,下面案例可供参考git仓库会分成三个区:工作区、暂存区、本地仓库区以上我们可以很方便的修改代码,随时可以选择要还是不要。

2023-11-27 17:34:23 80

原创 关于git的基本操作

提示:如果查看日志后无法返回,按 'q' 键举例说明关于git一些容易忽视的最基本的细节操作。

2023-11-24 18:29:36 50

原创 利用回调函数将串口数据处理放在应用层

将硬件层与应用层分离的时候,底层的串口接收数据不在底层处理,而是直接放到应用层处理。

2023-11-07 17:25:17 109

原创 STM32上实现驱动注册initcall机制(类linux)

如果我们把要初始化函数的地址按照顺序排列在一起,我们只要拿到第一个函数的地址,那么我们就可以依次拿到其它函数的地址,然后去执行相应的函数:1.首先需要定义一个函数指针,我们的初始化函数都必须按照这个格式写2.定义一个 section 区域用来存放我们的函数指针3.按照顺序来存放函数指针此函数形参为void,返回值类型int后面我们自己的初始化函数也必须是这种格式sectionconst##操作是连接左右两边的字符串,这样就可以定义前缀是"_aini_call。

2023-11-03 11:48:41 77

原创 一个类结构里面含有类结构成员

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考。

2023-09-22 14:25:35 37

原创 python实现类似像C语言里面的局部静态变量

在C语言函数里面,经常使用关键字static修饰变量计数,避免使用全局变量。我们在python实现类似像C语言里面的局部静态变量。以上两种方法输出结果相同。第二种方法避免了使用全局变量。

2023-09-20 14:05:47 95

原创 中介者模式

中介者模式(Mediator Pattern)是一种行为型设计模式,用于降低多个对象之间的耦合度。它通过引入一个中介者对象,将对象间的交互转移到中介者上,从而使对象之间不直接相互通信,而是通过中介者进行通信。

2023-08-31 20:20:50 36

原创 适配器模式

适配器模式(Adapter Pattern) 是作为两个不兼容接口之间的桥梁, 这种类型的设计模式属于结构型模式。适配器模式主要分为三类: 类适配器模式、 对象适配器模式、 接口适配器模式。以生活中手机充电为例来讲解适配器模式, 手机本身并不能直接用220V交流电, 需要将220V的交流电转换为5V的直流电, 在这个过程中, 充电器本身相当于Adapter(适配器) , 220V交流电相当于Adaptee (适配者), 5V直流电则是我们的Target(目标)。

2023-08-31 15:51:16 55

原创 数码管驱动芯片 TM1640

如图,TM1640 的 GRID1–GRID16 一共16个脚连接共阴数码管的阴极,SEG1–SEG8连接数码管的8个阳极,MCU通过SCLK和DIN将16个数据对应发送到 TM1640的16个地址里面,然后TM1640就会根据这些数据自动扫描驱动16个数码管显示对应的数据,不再需要MCU扫描操作。所以我们发送 0xC0 地址后,再接着发送16个数据就可以了,因为地址会自动加1。控制显示开,发送 0x88 (0x88亮度最低,我们一般会设置亮度高一点)控制显示关,发送 0x80。

2023-08-03 16:40:00 2155

原创 EC800M串口使用

提示:我使用的是EC800X_EVB_V1.1 开发板 , 主控是EC800MCNLAEC800MCNLA。

2023-07-22 11:24:39 2008 1

原创 python实现类似C语言结构的数据

用python生成或者解析C语言结构体数据。用python处理二进制数据时就需要用到struct包,struct包主要包括calcsize, pack, unpack几个函数,可以用来处理C语言的结构体数据结构。struct中支持的数据格式:为了同c中的结构体交换数据,还要考虑有的c或c++编译器使用了字节对齐,通常是以4个字节为单位的32位系统,故而struct根据本地机器字节顺序转换.可以用格式中的第一个字符来改变对齐方式.定义如下:注:网络通信默认大端模式,不需要特殊指定。

2023-07-21 18:42:57 343 1

原创 移远cat1模块open开发

参考官方文档:https://python.quectel.com/doc/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.html。

2023-06-28 15:55:50 460 1

原创 单向链表分析

【代码】单向链表分析。

2023-06-26 18:31:47 52 1

原创 观察者模式

【代码】观察者模式。

2023-06-25 16:59:31 39

原创 回调函数,函数指针的使用

/定义变量并且初始化 ARM_DRIVER_USART Driver_USART1 = {定义了一个结构体变量,并且对三个成员进行初始化赋值。//定义的函数 //初始化函数的参数是一个函数指针 int32_t USART1_Initialize(ARM_USART_SignalEvent_t cb_event) {第三步定义的三个结构体成员初始值是指向我们这里定义的三个函数。

2023-05-15 16:07:32 153

原创 断言的使用

调试代码经常会有跑崩的时候,当整机调试是出问题特别让人崩溃,断言机制能很好的定位由于参数错误导致的系统异常的情况。在代码重要的代码区,添加断言,相当于对出入参数做了预判操作,当参数不符合条件时,程序不再继续执行,同时打印错误信息。

2023-05-11 14:52:56 43

原创 shell命令

ubuntu 终端操作,shell命令

2022-10-04 08:08:49 383

原创 git使不同用户代码同步

一、先在gitee上面新建一个仓库 test二、本地创建两个文件夹user_Auser_B三、分别在两个文件夹里面建立本地仓库都使用命令:git clone https://gitee.com/mwnn/test.git建立了两个完全一样的仓库。四、A用户修改文件1)user_A 添加了一个文件 :“A创建的文件.txt”将文件添加到暂存区:git add .2)提交到本地仓库:git commit -m "A创建了文档,并且提交"3)提交到远程仓库git push -u

2022-04-22 15:56:39 1661

原创 git操作

一、创建本地仓库1.新建文件夹新建文件夹 git_learn2.将该文件夹变成git可管理的版本库1)在该文件夹下打开git2)git init 命令3.将文件提交到暂存区1)将指定文件添加到暂存区文件夹下新建文件 readme1.txt readme2.txt readme3.txt使用 git add readme.txt 可以将单个文件git add [file1] [file2] ... //添加一个或多个文件到暂存区git add [dir] //添加

2022-04-21 18:29:32 916

转载 Git clone的使用方法

使用Git clone项目 1 . 首先我们要确保我们的电脑上已经安装Git。 桌面点击右键出现如下图所示的两个Git即Git已经安装。 2 . 在电脑的任意一个磁盘里新建一个本地文件夹作为clone项目的保存文件夹。 3 . 在码云上面打开我们要clone的项目。 4 . 点击克隆/下载按钮出现项目地址的连接,点击后面的复...

2022-04-21 14:12:57 51443

原创 复制构造函数

一、声明复制构造函数二、定义复制构造函数说明:如果用户自己未定义复制构造函数,系统会提供一个默认的复制构造函数,其作用只是简单地复制类中每个数据成员。三、在什么情况被调用普通构造函数在建立对象时被调用。复制构造函数在用已有对象复制一个新对象时被调用,在以下三种情况下需要克隆对象:1.新建一个对象,并用另一个同类对象对它初始化上面 用对象p1复制出对象p2 也可以用下面形式,二者等价:test p2=p1;2.函数的参数为类的对象时。在调用函数时需要将实参对象完整地传递给形参,也就

2022-04-21 13:36:07 4390

原创 const关键字用法

一、常对象class Time{public: hour; minute; sec;};希望保证对象的数据成员不被改变,可以将这个对象声明为常对象,格式://类名 const 对象名[(实参列表)]Time const t1(12,34,46);也可以把 const 写在最左边//const 类名 对象名[(实参列表)]const Time t1(12,34,46);在定义对象时指定对象为常对象,常对象必须要有初始值。如果一个对象被定义为常对象,则不能调用该对象的非 co

2022-04-19 16:31:37 1371

转载 【CRC笔记】CRC-16 XMODEM C语言实现

转载:https://blog.csdn.net/u012028275/article/details/112067463

2022-04-19 16:04:49 289

转载 如何在CSDN中转载别人的博客

前言 今天看到一篇好的博客,考虑到直接收藏以后博主删除了文章就不能再查看,所以学习了下如何转载博客。下面是转载步骤,亲测有效。 操作步骤 注:本人使用的是Google浏览器 在你要转载的博客空白处→点击右键→检查 选择“article_content” 如图,依次点击(第一步不需要点击,进去就是选中状态) 点击...

2022-04-19 15:48:58 89

转载 HardFault_Handler问题查找方法

STM32出现HardFault_Handler故障的原因主要有两个方面: 1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。 2、堆栈溢出。增加堆栈的大小。   出现问题时排查的方法: 发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、LR、P...

2022-04-19 14:10:01 6760

原创 C++ 函数模板

一、在QT里面新建一个类新建 类 test二、在 类 test 里面定义 模板函数 max方法1:直接在类里面定义方法2:先在类里面声明再类外面定义三、主函数里面调用四、运行测试

2022-04-19 11:39:20 427

原创 QT布局之 sizepolicy 说明

每一个控件被拖放到窗口上都有一个默认尺寸大小(也就是 sizeHint)。不同的控件系统给它设定的 sizeHint不同,我们可以通过 sizeHint()函数查看这个值:比如,查看一个按钮 pushButton 的默认尺寸:qDebug()<<ui->pushButton->sizeHint().width()<<','<<ui->pushButton->sizeHint().height();PushButton Label 等控件

2022-04-08 17:37:35 2375 3

设计模式:结构型-适配器模式

适配器模式的介绍: 适配器模式(Adapter Pattern) 是作为两个不兼容接口之间的桥梁, 这种类型的设计模式属于结构型模式。 一些书籍也称适配器模式为缺省适配器模式(Default Adapter Pattern) 。 适配器模式主要分 为三类: 类适配器模式、 对象适配器模式、 接口适配器模式。 以生活中手机充电为例来讲解适配器模式, 手机本身并不能直接用220V交流电, 需要将220V的交流电转换为5V的直流电, 在这个过程 中, 充电器本身相当于Adapter(适配器) , 220V交流电相当于Adaptee (适配者), 5V直流电则是我们的Target(目标) 。

2023-08-31

GB T 18487.1-2015 电动汽车传导充电系统 第1部分:通用要求

电动汽车充电桩协议标准。

2023-05-11

热敏电阻10K参数 103K-3950-1%

热敏电阻温度阻值一一对应表。

2023-05-11

HDC1080-With-STM32-master.zip

HDC1080温湿度传感器驱动程序 HDC1080-With-STM32 In this projects I will use STM32F103C8 read temperature and humidity from HDC1080 via I2C

2019-09-04

GD32工程模板

这是我在keil平台建立的一个GD32的工程模板,便于以后开发GD32时候快速开发

2018-12-13

合泰中文资料(包括HT66F0175_185v,HT66F50等中文手册及部分代码)

合泰中文资料,包括HT66F0175_185v,HT66F30,HT66F40,HT66F50,HT66F60等中文手册及部分代码

2018-12-13

SSD1306OLED驱动芯片中文手册

SSD1306是一个单片 CMOS OLED/PLED驱动芯片可以驱动有机 / 聚合发光二极管点阵图形显 示系统。由 128 segments 和 64 Commons 组成。该芯片专为共阴极 OLED面板设计。 SSD1306中嵌入了对比度控制器、 显示 RAM 和晶振, 并因此减少了外部器件和功耗。 有 256 级亮度控制。数据 / 命令的发送有三种接口可选择: 6800/8000 串口, I2C 接口或 SPI接口。 适用于多数简介的应用,注入移动电话的屏显, MP3 播放器和计算器等。

2018-08-28

DHT11数字温湿度传感器

DHT11数字温湿度传感器 PDF文档 中文资料: DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合 传 感器。

2018-08-28

基于STC89C52单片机空气PM2.5系统设计资料

这是之前做的单片机毕业设计论文,给还在奋斗的学弟学妹参考

2018-03-17

STC单片机库文件

STC单片机库文件上传 目前KEIL4里面没有STC单片机库文件,每次都要替换,下面是STC的库文件

2012-11-10

空空如也

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

TA关注的人

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