- 博客(31)
- 资源 (7)
- 收藏
- 关注
原创 万用表测MOS好坏
5,先用红笔接G(栅极),黑笔接S(源极)给MOS充电;然后再黑笔接S(源极),红笔接D(漏极)万用表会显示接近0的非常小一个电压,说明MOS导通状态(因为充电后G极保持了一个电压,MOS导通了)3,红笔接S(源极),黑笔接D(漏极),万用表会显示0.5V左右的电压(内部二极管压降)4,反过来黑笔接S(源极),红笔接D(漏极),万用表会显示断开(因为内部二极管截止)1,首先用万用表表笔把G D S全部短接放电。2,万用表打到二极管档位。
2025-03-22 21:01:27
240
原创 PyQt开发界面环境搭建
网上搭建环境太多了,有点乱,我自己亲自踩坑整理了这篇文章提示:本文以PyQt6为例说明,其他一样的环境搭建好了,接下来就可以愉快的开发了!
2025-01-05 00:40:39
1544
原创 分支管理策略
在实际开发中,我们应该按照几个基本原则进行分支管理:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
2023-12-04 18:14:17
132
原创 git stash详解
使用git stash可以将没有提交的内容(包括工作区和暂存区)保存至堆栈中。注意: 如果工作区新建了个文件,此文件从来没有被添加到暂存区,那么这个文件就不能被git管理,也就不能被保存到堆栈。
2023-11-28 16:00:48
10142
原创 git三个区
要对某个项目使用git进行管理,需要使用git init命令初始化git仓库 git init会在当前目录生成一个隐藏文件夹 .git 不要去修改这个文件夹下的任意东西。提示:以下是本篇文章正文内容,下面案例可供参考git仓库会分成三个区:工作区、暂存区、本地仓库区以上我们可以很方便的修改代码,随时可以选择要还是不要。
2023-11-27 17:34:23
185
原创 STM32上实现驱动注册initcall机制(类linux)
如果我们把要初始化函数的地址按照顺序排列在一起,我们只要拿到第一个函数的地址,那么我们就可以依次拿到其它函数的地址,然后去执行相应的函数:1.首先需要定义一个函数指针,我们的初始化函数都必须按照这个格式写2.定义一个 section 区域用来存放我们的函数指针3.按照顺序来存放函数指针此函数形参为void,返回值类型int后面我们自己的初始化函数也必须是这种格式sectionconst##操作是连接左右两边的字符串,这样就可以定义前缀是"_aini_call。
2023-11-03 11:48:41
320
原创 一个类结构里面含有类结构成员
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考。
2023-09-22 14:25:35
95
原创 python实现类似像C语言里面的局部静态变量
在C语言函数里面,经常使用关键字static修饰变量计数,避免使用全局变量。我们在python实现类似像C语言里面的局部静态变量。以上两种方法输出结果相同。第二种方法避免了使用全局变量。
2023-09-20 14:05:47
242
原创 中介者模式
中介者模式(Mediator Pattern)是一种行为型设计模式,用于降低多个对象之间的耦合度。它通过引入一个中介者对象,将对象间的交互转移到中介者上,从而使对象之间不直接相互通信,而是通过中介者进行通信。
2023-08-31 20:20:50
83
原创 适配器模式
适配器模式(Adapter Pattern) 是作为两个不兼容接口之间的桥梁, 这种类型的设计模式属于结构型模式。适配器模式主要分为三类: 类适配器模式、 对象适配器模式、 接口适配器模式。以生活中手机充电为例来讲解适配器模式, 手机本身并不能直接用220V交流电, 需要将220V的交流电转换为5V的直流电, 在这个过程中, 充电器本身相当于Adapter(适配器) , 220V交流电相当于Adaptee (适配者), 5V直流电则是我们的Target(目标)。
2023-08-31 15:51:16
136
原创 数码管驱动芯片 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
4596
原创 python实现类似C语言结构的数据
用python生成或者解析C语言结构体数据。用python处理二进制数据时就需要用到struct包,struct包主要包括calcsize, pack, unpack几个函数,可以用来处理C语言的结构体数据结构。struct中支持的数据格式:为了同c中的结构体交换数据,还要考虑有的c或c++编译器使用了字节对齐,通常是以4个字节为单位的32位系统,故而struct根据本地机器字节顺序转换.可以用格式中的第一个字符来改变对齐方式.定义如下:注:网络通信默认大端模式,不需要特殊指定。
2023-07-21 18:42:57
740
1
原创 移远cat1模块open开发
参考官方文档:https://python.quectel.com/doc/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.html。
2023-06-28 15:55:50
952
1
原创 回调函数,函数指针的使用
/定义变量并且初始化 ARM_DRIVER_USART Driver_USART1 = {定义了一个结构体变量,并且对三个成员进行初始化赋值。//定义的函数 //初始化函数的参数是一个函数指针 int32_t USART1_Initialize(ARM_USART_SignalEvent_t cb_event) {第三步定义的三个结构体成员初始值是指向我们这里定义的三个函数。
2023-05-15 16:07:32
253
原创 断言的使用
调试代码经常会有跑崩的时候,当整机调试是出问题特别让人崩溃,断言机制能很好的定位由于参数错误导致的系统异常的情况。在代码重要的代码区,添加断言,相当于对出入参数做了预判操作,当参数不符合条件时,程序不再继续执行,同时打印错误信息。
2023-05-11 14:52:56
84
原创 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
1913
原创 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
1253
1
转载 Git clone的使用方法
使用Git clone项目 1 . 首先我们要确保我们的电脑上已经安装Git。 桌面点击右键出现如下图所示的两个Git即Git已经安装。 2 . 在电脑的任意一个磁盘里新建一个本地文件夹作为clone项目的保存文件夹。 3 . 在码云上面打开我们要clone的项目。 4 . 点击克隆/下载按钮出现项目地址的连接,点击后面的复...
2022-04-21 14:12:57
57513
原创 复制构造函数
一、声明复制构造函数二、定义复制构造函数说明:如果用户自己未定义复制构造函数,系统会提供一个默认的复制构造函数,其作用只是简单地复制类中每个数据成员。三、在什么情况被调用普通构造函数在建立对象时被调用。复制构造函数在用已有对象复制一个新对象时被调用,在以下三种情况下需要克隆对象:1.新建一个对象,并用另一个同类对象对它初始化上面 用对象p1复制出对象p2 也可以用下面形式,二者等价:test p2=p1;2.函数的参数为类的对象时。在调用函数时需要将实参对象完整地传递给形参,也就
2022-04-21 13:36:07
4829
原创 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
1531
转载 【CRC笔记】CRC-16 XMODEM C语言实现
转载:https://blog.youkuaiyun.com/u012028275/article/details/112067463
2022-04-19 16:04:49
340
转载 如何在优快云中转载别人的博客
前言 今天看到一篇好的博客,考虑到直接收藏以后博主删除了文章就不能再查看,所以学习了下如何转载博客。下面是转载步骤,亲测有效。 操作步骤 注:本人使用的是Google浏览器 在你要转载的博客空白处→点击右键→检查 选择“article_content” 如图,依次点击(第一步不需要点击,进去就是选中状态) 点击...
2022-04-19 15:48:58
124
转载 HardFault_Handler问题查找方法
STM32出现HardFault_Handler故障的原因主要有两个方面: 1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。 2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法: 发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、LR、P...
2022-04-19 14:10:01
6882
原创 C++ 函数模板
一、在QT里面新建一个类新建 类 test二、在 类 test 里面定义 模板函数 max方法1:直接在类里面定义方法2:先在类里面声明再类外面定义三、主函数里面调用四、运行测试
2022-04-19 11:39:20
482
原创 QT布局之 sizepolicy 说明
每一个控件被拖放到窗口上都有一个默认尺寸大小(也就是 sizeHint)。不同的控件系统给它设定的 sizeHint不同,我们可以通过 sizeHint()函数查看这个值:比如,查看一个按钮 pushButton 的默认尺寸:qDebug()<<ui->pushButton->sizeHint().width()<<','<<ui->pushButton->sizeHint().height();PushButton Label 等控件
2022-04-08 17:37:35
2985
3
设计模式:结构型-适配器模式
2023-08-31
HDC1080-With-STM32-master.zip
2019-09-04
合泰中文资料(包括HT66F0175_185v,HT66F50等中文手册及部分代码)
2018-12-13
SSD1306OLED驱动芯片中文手册
2018-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人