自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QGraphicsScene视图下图元排序设置

2025-01-16 21:21:10 134

原创 电脑动态库dll修复工具

链接: https://pan.baidu.com/s/14SxSYgOSO96EzcKQZqNG7A。通过网盘分享的文件:DirectX_Repair_3.7_Enhanced_XiaZaiBa.zip。

2024-12-03 09:37:59 209

原创 Modbus通信协议中ASCII模式与RTU模式详解

Modbus协议是一种串行通信协议,用于连接工业电子设备。它定义了设备之间如何传输信息,包括数据的格式、传输速度、错误检测等。Modbus协议广泛应用于各种工业自动化系统,如PLC、传感器、执行器等。Modbus协议的基本结构包括主站和从站。主站发起通信请求,从站响应请求并返回数据。通信过程中,数据以帧的形式传输,每帧数据包含地址、功能码、数据域等信息。

2024-11-28 10:38:46 1432

原创 robot studio ABB机器人好用的教程

1、

2024-11-25 09:59:41 220

原创 qt程序关闭界面后,进程依然没有退出

一种关闭界面彻底退出的方式,main.cpp中加入。

2024-11-01 14:52:06 355

原创 STM32F407ZGT6-HAL-USART1串口

2、keil工程配置添加Use Micro LIB。tx、rx引脚配置保持默认即可;需要包含stdio.h头文件。

2024-10-22 10:51:24 472

原创 AD快速上手教程

AD16 PCB布局_哔哩哔哩_bilibili

2024-10-16 18:03:56 131

原创 STM32F407ZGT6-HAL-FreeRTOS-信号量示例

A:发送任务优先级高,先执行。连续3次释放二进制信号量,只有第1次成功B:发送任务进入阻塞态C:接收任务得以执行,得到信号量,打印OK;再次去获得信号量时,进入阻塞状态 在发送任务 的vTaskDelay退出之前,运行的是空闲任务:现在发送任务、接收任务都阻塞了D:发送任务再次运行,连续3次释放二进制信号量,只有第1次成功E:发送任务进入阻塞态F:接收任务被唤醒,得到信号量,打印OK;再次去获得信号量时,进入阻塞状态即使发送任务连续释放多个信号量,也只能成功1次。

2024-09-23 14:39:35 928

原创 FreeRtos-重要概念

一个任务函数在执行的时候,可能会被其他高优先级的任务抢占CPU,也可能被任何一个中断的ISR函数抢占CPU。另一个称为“中断级”,即带后缀“FromISR”的函数或带后缀“FROM ISR”的宏函数,中断级API函数也被称为中断安全API函数。任务的优先级是编程者在软件中赋予的,任务的优先级数字越低表示优先级越低,所以任务的最低优先级为0。任务只有在没有ISR运行的时候才能运行,即使优先级最低的中断也可以抢占高优先级的任务的执行,而任务不能抢占ISR的运行【这一句需要重点解释】在中断的ISR里调用。

2024-09-20 10:59:00 419

原创 HAL库中的三种延时函数HAL_Delay、vTaskDelay和vTaskDelayUntil的区别

相对延时函数:相对延时是指每次延时都是从任务执行函数vTaskDelay()开始,延时指定的时间结束;精度没绝对延时准确,延时时释放CPU。指将整个任务的运行周期看作一个整体,适用于需要按照一定频率运行的任务,精度很准,延时时释放CPU。阻塞型延时,实现方式是通过死循环方式实现的,不会释放掉cpu,会造成其他低优先级任务无法执行。3、vTaskDelayUntil() 绝对延时函数。2、vTaskDelay() 相对延时函数。

2024-09-19 16:20:40 1088

原创 STM32L051K8U6-HAL-串口中断控制灯闪烁速度

示例:链接:https://pan.baidu.com/s/1u6FamKgZhvcEsFAdgGeaww。4、 配置灯引脚属性为输出模式。

2024-09-12 10:55:25 465

原创 [STM32 HAL库]课程

[STM32 HAL库]课程介绍,最佳教程,没有之一~_哔哩哔哩_bilibili

2024-09-10 10:45:38 407

原创 PyQt-Server服务器

链接:链接:https://pan.baidu.com/s/1o_OVvoZ3coJoeQ1RAzgCBA。

2024-09-06 09:19:50 437

原创 汇编基础指令

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 435

原创 STM32L051K8U6-HAL-LED闪烁设计

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

2024-08-07 14:50:27 271

原创 STM32L051K8U6-开发资料

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

2024-08-03 11:57:12 354

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

2024-07-24 10:19:08 273

原创 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 690

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

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

2024-07-23 10:37:13 468

原创 STM32-Cube开发资源

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

2024-07-16 16:42:45 308

原创 STM32程序启动过程

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

2024-06-13 16:51:03 918

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

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

2024-06-11 16:36:01 150

原创 GPIO八大模式

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

2024-06-11 14:41:50 258

原创 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 4311

原创 常用的三种软件架构

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

2024-06-11 10:05:00 690

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

2024-04-22 09:15:15 1551

原创 串口波特率

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

2024-03-09 11:17:05 934

原创 相机的常见参数分析

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

2024-02-27 16:48:18 3642

原创 景深有什么用

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

2024-02-27 15:34:24 444

原创 统计函数执行的时间

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

2024-02-18 13:29:31 403

原创 QPushButton样式设置

QPushButton样式设置_qpushbutton设置样式-优快云博客

2023-12-21 13:31:13 458

原创 Qt 常见的正则表达式

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

2023-12-05 08:59:41 1474

原创 VSCode搭建STM32开发环境

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

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

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

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

2023-11-30 09:16:56 1101

原创 STM32内存介绍

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

2023-11-22 16:41:26 500

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

最后设置成默认值 即可。

2023-10-10 17:53:08 675

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

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

2023-10-10 14:14:40 1446

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

SQL多表查询常用语句总结_sql多表查询语句-优快云博客

2023-10-10 10:56:13 160

原创 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 676

原创 python精简教程

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

2023-10-07 10:37:50 58

利用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关注的人

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