自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(273)
  • 资源 (12)
  • 收藏
  • 关注

原创 汇编基础指令

BL main;Branch and Link,先把返回地址保存在LR寄存器里再跳转。读地址“R1+4”,得到的4字节数据存入R0。把R0的4字节数据写"R1+4"CMP RO,R1;结果保存在PSR(程序状态寄存器)B main;Branch,直接跳转。2、写内存:Store。1、读内存:Load。

2024-08-21 15:36:04 161

原创 STM32L051K8U6-HAL-LED闪烁设计

示例:链接:https://pan.baidu.com/s/1CetQg5oD0uAc-9VfiihjsQ。//切换 翻转电平。4、 配置灯引脚属性为输出模式。生成代码:编写while里面的代码。

2024-08-07 14:50:27 187

原创 STM32L051K8U6-开发资料

STM32L051测试 (四、Flash和EEPROM的读写)-云社区-华为云 (huaweicloud.com) STM32L051测试 (四、Flash和EEPROM的读写) - 掘金 (juejin.cn)STM32L0 系列 EEPROM 读写,程序卡死?_stm32l0片内eeprom_stm32l0 eeprom-CSDN博客

2024-08-03 11:57:12 215

原创 STM32F4系列高性能处理器介绍

2024-07-24 10:19:08 81

原创 STM32定时器如何通过预分频和重装载设置时间间隔

((1+TIM_Prescaler )/168M)*(1+TIM_Period )=((1+35999)/168M)*(1+2000)=1秒*/公式:TIM_CLK = CLK / PSC 【见上图分析】1、系统时钟CLK经过PSC预分频器得到定时器时钟TIM CLK。定时器中断触发时间 = 计数一次需要的时间 * 重装载值。2、计算计数器每计数一次。计数一次需要的时间 =3、重装载值溢出时间。

2024-07-23 11:11:21 280

原创 modbus中3.5字节时间如何计算

示例:波特率是115200bps (比特每秒)1、计算每个比特的时间。3、3.5个字节的时间。

2024-07-23 10:37:13 194

原创 STM32-Cube开发资源

全网最完整最干练的CubeMX、CubeIDE STM32开发教程 拥抱高效Cube开发方式【3.1】—Kevin带你读《STM32Cube高效开发教程基础篇》_哔哩哔哩_bilibili Kevin_WWW的个人空间-Kevin_WWW个人主页-哔哩哔哩视频 (bilibili.com)

2024-07-16 16:42:45 276

原创 STM32程序启动过程

(2)然后执行复位中断,在复位中断服务程序中跳转 C/C++标准实时库的main函数(__main),完成用户堆栈等的初始化后,跳转.c 文件中的main函数(真正的用户main函数)开始执行程序。(1)首先对栈和堆的大小进行定义,并在代码区的起始处建立中断向量表,其第一个表项是栈顶地址(32位),第二个表项是复位中断服务入口地址;

2024-06-13 16:51:03 842

原创 STM32单片机学习笔记-外部中断NVIC和EXTI

STM32单片机学习笔记(八)-NVIC和EXTI-CSDN博客

2024-06-11 16:36:01 122

原创 GPIO八大模式

GPIO主要有八种模式,分别为推挽输出、开漏输出、复用推挽输出、复用开漏输出、浮空输入、上拉输入、下拉输入、模拟输入。下面先解释一下,图1中右侧的保护二极管和左侧的寄存器。注意:输出模式没有上拉和下拉的区分在这里可以将P-MOS管假想为NPN,N-MOS假想为PNP,这样就比较好去理解这个电路推挽电路当Vin电压为V+时,上面的N型三极管控制端有电流输入,Q3导通,电流方向如下图。经过上面的N型三极管提供电流给负载R,这就叫「推」。经过下面的P型三极管提供电流给负载,这就叫「挽」。

2024-06-11 14:41:50 162

原创 NPN和PNP三极管开关

(2)图2-PNP三极管开关电路:有时候我们也会用PNP的三极管搭建三极管开关电路,当如图输入低电平时,三极管B和E间的电压小于开启电压(负值),这时三极管饱和导通;为了让三极管C和E间的电压尽可能小,三极管处于一个深度饱和的状态,一般三极管基极的电流取集电极电流的1/10,所以基极电流为:IB=IC/10=2mA;(2)导通电压是指PN结导通以后两端的电压降,硅管与锗管的导通电压分别为0.7V与0.5V普通三极管,导通电压0.5~0.7V,符合二极管的特性。当使用三极管当电子开关时,对于控制端输入信号,

2024-06-11 13:33:02 856

原创 常用的三种软件架构

每个模块可以注册并监听不同的事件,系统通过事件管理机制实现模块之间的通信和协作。将系统划分为多个服务,每个服务提供一组相关的功能。适用于需要模块化和可重用性的项目。1、每个服务负责一组明确定义的任务,模块通过调用服务接口来执行特定功能。2、这种架构有助于模块之间的松耦合,提高了系统的可维护性和可重用性。是一种将嵌入式系统分为多个层次的设计方法。:与硬件相关的初始化和配置,确保系统在目标硬件上正确运行。1、模块可以监听和响应特定事件,而不需要主循环的轮询。不同的软件架构适用于不同的嵌入式项目需求。

2024-06-11 10:05:00 527

原创 win11字体出现模糊感觉字体不对得问题

2024-04-22 09:15:15 738

原创 串口波特率

随着波特率的提高,信号的时钟周期变得更短,数据的传输时间也变得更短,这使得数据在传输过程中更容易受到干扰和噪声的影响,从而导致误码率的增加。当波特率过高时,数据传输中可能会出现一些误差,导致数据传输的可靠性下降。中每秒钟传输的二进制位数(即波特率=波特/秒)。虽然提高波特率可以加快。提高波特率会带来更高的数据传输速度,但同时也会增加传输误码率。速度,但并不是波特率越高越好。

2024-03-09 11:17:05 544

原创 相机的常见参数分析

形象的用上图表示,像元尺寸就是这个图像中每一个黑色格子所表示的大小,单位一般都是微米。图像是由像素所组成的,像素的多少表明摄像机所含有的感光元件的多少。是指数字成像系统中,每个像素的物理大小,上图中相机单个像素的物理尺寸时2.4um。是指数字成像系统中,每个像素的物理大小,上图中相机单个像素的物理尺寸时2.4um。M是mega的意思,也就是兆的意思,P是像素的意思。图像大小一定的情况下,像元尺寸越大,分辨率越低,清晰度越低。像素就是这张图像中的所有黑格子的数量。由长边和短边,即可算出靶面尺寸。

2024-02-27 16:48:18 1016

原创 景深有什么用

举个例子,当我们对准一个人聚焦拍摄时,在这个人近相机方向上和远相机方向上的一段距离内,所有景物都会相当清晰。在前面的例子中,如果人没在景深之内,那么人看起来就会模糊;如果我们希望人和牌楼都清楚,就需要将人和牌楼都安置在景深之内,那么该怎么做呢?对于定焦镜头而言,我们可以通过光圈和对焦距离改变景深。当相机拍摄人物时,在一定区域范围内的图像都是清晰的,而这一段成像清晰的距离就是。:在超焦距范围内,对焦距离越近,景深越小;对焦距离越远,景深越大。:光圈越小,景深越大;光圈越大,景深越小。:焦距越长,景深越小;

2024-02-27 15:34:24 383

原创 统计函数执行的时间

【代码】统计函数执行的时间。

2024-02-18 13:29:31 364

原创 QPushButton样式设置

QPushButton样式设置_qpushbutton设置样式-CSDN博客

2023-12-21 13:31:13 430

原创 Qt 常见的正则表达式

【代码】Qt 常见的正则表达式。

2023-12-05 08:59:41 1250

原创 VSCode搭建STM32开发环境

2、安装VSCodeUserSetup-x64-1.78.2.exe软件。4、在环境变量中部署mingw64编译环境。3、配置Keil Assistant插件。3、 在VSCode中安装必要的插件。

2023-11-30 12:13:13 880 1

原创 Qt:解决跨线程调用socket/IO类,导致报错的问题

Qt有很多IO相关的类,比如说QTcpSocket、QFile,总的来说,在Qt的框架内使用,还是非常方便的。这也是有道理的,很多时候真的是设计问题导致的,因为设计失误出现了不应该有的跨线程操作。当然也可以用信号和槽封装一下,但是这样会涉及很多不必要的代码,我个人觉得也太过于麻烦。要解决这个问题,直观的说就是不要跨线程操作,网上也有很多类似的说明。

2023-11-30 09:16:56 991

原创 STM32内存介绍

经历了从NOR Flash到NAND Flash再到现在的eMMC的发展。为了便于使用和大批量生产,ROM进一步分为了4种类型:PROM、EPROM、EEPROM和Flash。PROM只能被编程一次,EPROM可擦写可编程且可达1000次,EEPROM是一种掉电后数据不丢失的存储芯片,而。

2023-11-22 16:41:26 475

原创 Qt打开ui文件经常报错

最后设置成默认值 即可。

2023-10-10 17:53:08 570

原创 释放Sqlite数据库占用的多余空间

当删除sqlite数据库中的数据之后,会发现内容确实删除掉了,但是sqlite数据库占用的磁盘大小没有缩小,那是因为,删除数据后,未使用的磁盘空间被添加到一个内在的“空闲列表”中用于储存你下次插入的数据,磁盘空间并没有丢失,但是也不向操作系统返回磁盘空间,1、利用navicat删除数据之后,执行VACUUM语句即可。2、在自己的代码中执行。

2023-10-10 14:14:40 1090

原创 SQL多表查询常用语句总结

SQL多表查询常用语句总结_sql多表查询语句-CSDN博客

2023-10-10 10:56:13 128

原创 Python学习笔记

2、if 、while、def和class这样的复合语句,首行以关键字开始,以冒号(:)结束,该行之后的一行或者多行代码构成代码组。4、python语言中进行的四则运算时,凡是有小数参与到运算中,哪怕计算结果为整数,也是默认保留小数点后一位的0。5、选择语句: if if .....else if ....elif....else。3、在python中无论输入的内容是数字还是字符,都将被作为字符串类型读取。1、缩进相同的一组语句构成一个代码块,称之为代码组。8、range()函数。

2023-10-08 09:16:32 657

原创 python精简教程

Python入门基础语法_程序员小十一的博客-CSDN博客

2023-10-07 10:37:50 45

原创 Qt搭建无边框可移动界面

1.首先我们在目标窗口(如Mainwindow)的样式表中直接添加圆角、背景和边框的样式,

2023-09-28 17:39:37 284

原创 Qt中额外复制新类到工程中出现无法解析的外部符号

我们找到新添加的类的头文件(.h),右键打开属性,我们看到有一个“项类型”,应该是C/C++标头,我们把它改成:Qt Meta-Object Compiler(moc),再次编译即可成功!无法解析的外部符号 “public: virtual struct QMetaObject const * __cdecl FormCloudFilter::metaObject(v。:在C++项目中,新添加了类之后,编译出现错误,原因是我们新添加的类未被Qt编译成moc文件。

2023-09-25 10:19:21 587

原创 C++指向类成员的函数指针

C++指向类成员的函数指针_c++ 类成员函数指针_一身孤注掷温柔的博客-CSDN博客c++中的类成员函数指针_师从名剑山的博客-CSDN博客

2023-08-21 13:20:53 153

原创 QCustomPlot使用OpenGL加速

3、在代码中启动OpenGl功能。

2023-08-17 09:40:09 997

原创 Qt:解决跨线程调用socket/IO类,导致报错的问题(socket notifiers cannot be enabled from another thread)

Qt:解决跨线程调用socket/IO类,导致报错的问题(socket notifiers cannot be enabled from another thread)_qt 异步线程调用io_Jason188080501的博客-CSDN博客

2023-08-17 09:11:36 293

原创 QWidget样式

【代码】QWidget样式。

2023-08-04 13:38:32 2881

原创 HC-06蓝牙模块使用方法

如果您的HC-06蓝牙模块的灯正在闪烁,这可能表示它正在发送或接收数据。HC-06蓝牙模块的灯通常有不同的闪烁模式来指示不同的状态。配置蓝牙模块:您可以尝试使用AT指令通过串口对HC-06蓝牙模块进行配置。:一旦成功连接到另一个蓝牙设备(例如手机或电脑),HC-06的灯可能会周期性地闪烁,表示已经建立了蓝牙连接。:当您首次将蓝牙模块与设备进行配对时,HC-06的灯可能会快速闪烁,表示正在等待配对成功。这将重置模块并可能解决临时问题。检查连接:确保蓝牙模块正常连接到您的设备,并且设备上的设置和配置正确。

2023-07-24 11:30:59 2038

原创 QPainter中坐标系变换问题

解析:这里将(100,100)点作为了原点,所以此时(100,100)就是(0,0)点,以前的(0,0)点就是(-100,-100)点。下面我们只是对坐标系的平移,缩放,旋转,扭曲等应用进行介绍。解析:这里,painter.shear(0,1),是对纵向进行扭曲,0表示不扭曲,当将第一个0更改时就会对横行进行扭曲,关于扭曲变换到底是什么效果,你观察一下是很容易发现的。解析:可以看到,painter.scale(2,2),是将横纵坐标都扩大了两倍,现在的(50,50)点就相当于以前的(100,100)点。

2023-07-18 10:09:43 574

原创 Qt自定义控件-坐标原点位置变化

利用painter.translate函数将原点位置控制到指定位置。例如:先绘制一个矩形,然后将矩形的中心点作为原点再画直线。2、重新设置原点位置。

2023-07-06 09:42:23 778

原创 FreeRtos-常见错误

原因:串口和定时器中断中用到了队列,但是串口和定时器驱动初始化先创建然后再创建队列,而驱动初始化后,可能进入中断,提前用到了队列,至此发生错误;任务中的资源,应该先创建,再初始化驱动相关的代码,例如。

2023-07-05 10:53:27 615

原创 VS2017编译64位库出现问题解决方法

1、问题:VS2017编译32位Release库正常通过,但是64位库总是报错。解决方法:添加setupapi.lib到依赖项中。

2023-06-28 09:42:39 297

转载 一种单片机用printf串口输出16进制数的方法!!

(1252条消息) 一种单片机用printf串口输出16进制数的方法!!_串口打印十六进制_“猩球崛起的博客-CSDN博客

2023-06-27 10:09:54 518

原创 SVN设置忽略文件和文件夹

SVN设置忽略文件和文件夹 (taodudu.cc)

2023-06-08 16:35:03 4210

利用QStackWidget控件加载子界面.zip

QT环境下利用QStackWidget控件,加载子界面,合理分开程序,让程序更具层次感,方便程序扩展,

2019-11-20

sougou_huyanbao

explicit DataProcessing(QObject *parent = 0);1233333333333

2019-06-11

利用MoveToThread实现多线程编写

网上大部分写线程模式都是重写run函数实现的,但网上有大牛建议通过MoveToThread函数实现线程,现制作简易的线程模板分享一下

2018-09-25

多线程测试

测试多线程的实现方式,并且和单线程进行比较,可以让初学者更快的理解线程机制的好处

2018-09-21

单线程测试用例

用于测试单线程的弊端,当计算大数据时,单线程只能做一件事,如果此时干其他的界面就会崩溃

2018-09-21

QT下控件提升小示例

QT环境下提升控件的一个小例子,简单易懂,了解控件提升的作用(对控件的进一步封装有很大作用),方便学习和总结

2018-09-12

Qt5.4.1和QWT安装包

该文件包含qt5.4.1和qwt以及openssl安装包,经本人测试可用

2018-08-21

大小端测试程序

大小端测试测序, 可以很方便的测试机器的大小端格式

2018-08-21

linux下安装32位qt5.4.1安装包

linux下32位qt5.4.1安装包,亲测可用,安装简单,满足基本需求

2018-08-17

超级system命令嵌入代码

在程序中通过system函数执行命令后,有时很想在程序里获取执行后的结果,通过本程序,可以简单的在执行命令后还能获取执行的结果,本历程,是执行将秒数转换成年月日时分秒格式的命令,后在程序中能捕获到执行后的 年-月-日 时-分-秒格式的结果

2018-08-01

makefile分文件夹编译框架

本框架,分文件夹管理,可以让程序更具模块化,利于编写出更高效的代码

2018-07-30

Qt串口助手,支持和单片机中文通信

上位机和下位机串口中文通信时,经常出现乱码,该程序就是针对这个问题找到了解决办法。

2018-07-16

空空如也

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

TA关注的人

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