自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c#在关闭串口时卡死

SerialStream实例执行Close()方法时会lock实例自身当辅助线程调用DataReceived事件处理程序处理串口数据但还未更新界面时,点击界面“关闭”按钮调用SerialPort实例的Close()方法,UI线程会在lock(stream)处一直等待辅助线程释放stream的线程锁。处,直接关闭软件时也会卡死,即使在关闭窗口的回调函数中增加了串口中断回调函数的解绑,串口缓存区的清除,串口资源的释放等操作,依然会导致软件卡死。此时,线程死锁发生,两边都执行不下去了。

2024-04-29 10:56:01 623

原创 C#初学 工程1500行左右 Serial + 多线程 +数据处理

【代码】C#初学 工程1500行左右 Serial + 多线程 +数据处理。

2023-12-06 17:25:42 496

原创 GD32F450 USB ADC DMA IIC FLASH GPIO

【代码】GD32F450 USB ADC DMA IIC FLASH GPIO。

2023-12-06 17:21:41 2539

原创 qt输出excel文档,linux window下均可使用

使用耳熟能详的第三方库 QtXlsxWriter,直接将源码添加到工程里,在头文件声明后可以直接在CPP中调用相应的API函数,源代码的添加参考添加.Pri文件的方法。

2023-11-27 13:50:53 646

原创 linux下qt代码的串口助手

linux下运行的qt代码的串口助手,需要相应的qt库,可以直接使用qmake编译。

2023-11-27 13:47:55 466

原创 QT项目管理 添加共享项目到工程

qt项目代码量增加后,如果不进行项目管理的话会出现在一个文件夹下多个cpp文件,甚至多达10多个,那么一般大型项目或者多模块项目一般使用主项目+子项目的方式,也有将子模块编译为lib库的方式,直接供主项目调用,但是配置方式繁琐,本文提供使用共享文件的方式进行文件划分。.pri文件的新建可以使用新建文本文件,直接修改后缀名实现,但是部分系统不支持此方式。在主项目的.pri文件中添加 include(path+.pri)注意path是指你.pri文件的相对地址,.pri是指实际的文件名。

2023-11-27 13:43:52 437

原创 GD32F450 USB-CDC-ACM虚拟串口 硬件IIC Usart ADC

GD32F450 ADC USART USB IIC等外设

2023-11-27 13:18:45 1611

原创 卫星导航接收机 卫星星空图

使用qt完成的项目子界面,仅上传UI界面绘制和更新的接口,相关接口数据和结构体未开放,可以看到图像绘制和处理的源码。

2023-11-27 11:42:59 519

原创 qt switchbutton Qcustomplot 源码+应用

代码是主函数,不仅仅使用了switchbutton 还使用了绘图十分方便的Qcustomplot。

2023-11-27 11:25:00 486

原创 QtConcurrent框架的优势 和使用细节

函数需符合一定规范:使用QtConcurrent::run()函数时,被调用的函数必须是静态成员函数、全局函数或lambda表达式,并且参数列表不能包含QObject*类型的对象。高效可靠:QtConcurrent采用了现代化的并行编程技术,包括线程池、Futures和Promises等,可以充分利用多核CPU资源,提高程序的运行效率和性能。,可以将任务提交给线程池进行执行。使用适当数量的线程:在创建线程池时,应该考虑任务的类型、数量和复杂度等因素,选择适当数量的线程来保证程序的性能和稳定性。

2023-11-27 11:14:27 1040

原创 qt使用openGauss数据库

在上述代码中,首先使用 QSqlDatabase::addDatabase 函数创建一个数据库连接,并指定使用 "QPSQL" 驱动(用于连接 OpenGauss 数据库)。然后,设置连接的详细信息,例如主机名、端口、数据库名称、用户名和密码。qDebug() << "查询失败:" << query.lastError().text();// 设置数据库名称。请根据实际的数据库配置信息,修改相应的主机名、端口、数据库名称、用户名和密码。// 设置数据库端口。qDebug() << "无法连接到数据库";

2023-08-15 13:25:11 377

原创 GD32F407实现usb通讯

/ 可以将数据发送回上位机或进行其他操作。// 在这里可以处理其他任务。// 在这里处理接收到的USB数据。// 处理USB中断。// 配置USB时钟和中断。// 配置USB端口。// USB传输缓冲区大小。// USB设备端口配置。// USB中断处理函数。

2023-07-18 20:48:49 866 1

原创 QT的usb通讯,热插拔检测

/ 设置流控制,根据实际情况修改。// 设置波特率,根据实际情况修改。// 设置停止位,根据实际情况修改。// 设置校验位,根据实际情况修改。// 设置数据位,根据实际情况修改。// 设置串口名字,根据实际情况修改。// 安装事件过滤器,监听USB插拔事件。// 检测到USB插拔事件。

2023-07-18 20:34:23 1785 1

原创 Qt实现usb通讯

/ 连接USB设备监视器的设备变更信号。// 创建UsbSerialBridge对象。// 关闭当前已打开的串口。// 关闭当前已打开的串口。// 检查是否是目标USB设备。// 设置新的串口名称。// 检查是否是目标USB设备。// 开始监听USB设备变更。// 槽函数:处理USB设备添加事件。// 槽函数:处理USB设备移除事件。// 创建USB设备监视器。// 连接串口数据读取信号。// 槽函数:接收数据并转发到串口。// 发送数据到USB设备。

2023-07-18 20:20:08 4550 3

原创 Qt不使用外部库的实现modbus RTU

/ 等待一段时间,确保数据发送成功和响应准备就绪。// 槽函数:接收数据并处理Modbus RTU响应帧。// 发送Modbus RTU请求帧。// 处理Modbus RTU响应帧。// 函数:接收Modbus RTU响应帧。// 函数:发送Modbus RTU帧。// 读取所有可用数据。// 读取寄存器数据的请求帧。// 连接串口数据读取信号。// 创建ModbusRTU对象。// 等待数据发送完成。// 等待数据接收完成。

2023-07-16 23:43:00 241 1

原创 Qt串口源码

QString fileName = fileDialog.getSaveFileName(this,tr("保存文件到"),"/Receivedata",tr(" File(*.cpp/*.txt/*.h)"));

2023-07-16 23:37:07 251 1

原创 直接在子类中启动串口子线程

QMessageBox::information(NULL,"提示","串口已经连接",QMessageBox::Yes);// qDebug()<<"构造串口线程ID为:"<<QThread::currentThread();// qDebug()<<"串口接收线程ID为:"<<QThread::currentThread();// qDebug()<<"串口发送线程ID为:"<<QThread::currentThread();// qDebug()<<"串口发送 "<<datas;

2023-07-16 23:31:53 51 1

原创 qt多ui界面切换

用户可以通过选择不同的选项卡来切换不同的界面。以上是一些常见的方法,您可以根据具体需求选择适合的方式来实现多个界面。使用多个窗口: 可以创建多个独立的窗口,并通过手动控制它们的显示和隐藏来切换不同的界面。使用多个窗口的好处是可以将每个界面的逻辑和布局分开管理,但需要手动处理窗口的显示和隐藏状态。使用QStackedWidget可以方便地切换并管理多个界面,只需设置当前页面的索引即可。使用QTabWidget可以通过选项卡来切换不同的界面,适合于具有固定数量的界面。

2023-07-16 23:23:14 3787 1

原创 qt加密和解密

/ 创建QAESEncryption类对象,并指定加密模式和填充方式。// 创建QAESEncryption类对象,并指定加密模式和填充方式。

2023-07-16 23:20:24 1981 1

原创 利用INI存储用户信息

注意,QSettings类默认使用INI格式进行读写操作,但也可以选择其他格式(如XML)。在实际应用中,可以根据需要扩展代码以适应更复杂的用户信息存储需求,例如使用不同的节、键和值来保存多个用户的信息。另外,如果需要加密用户信息或保护敏感数据,可以使用Qt的加密功能或其他加密算法对用户信息进行处理。// 创建QSettings对象并指定INI文件路径。// 创建QSettings对象并指定INI文件路径。// 创建QSettings对象并指定INI文件路径。

2023-07-16 23:18:11 88 1

原创 linux平台下的QT基于arm平台的zeroMq应用控制台

步骤4:将ZeroMQ库添加到项目中 将ZeroMQ库的头文件和库文件添加到Qt项目中。步骤2:创建一个新的Qt项目 使用Qt Creator或任何其他喜欢的文本编辑器创建一个新的Qt控制台项目。步骤5:编写代码 在Qt项目中的主.cpp文件中编写代码以使用ZeroMQ。请注意,要使用ZeroMQ的功能,您需要包含相应的头文件并使用适当的命名空间。在Qt项目的源代码文件中编写使用ZeroMQ的代码。在编写代码时,确保正确设置ZeroMQ的上下文和套接字对象,并使用适当的函数发送和接收消息。

2023-07-11 20:08:36 282

原创 ZEROMQ SUB

/ 初始化 ZeroMQ 上下文。// 创建 SUB(订阅者)套接字。// 销毁 ZeroMQ 上下文。// 设置订阅的频道。

2023-07-11 19:39:16 43

原创 zeroMq pub

/ 发布间隔为1秒。// 初始化 ZeroMQ 上下文。// 创建 PUB(发布者)套接字。// 销毁 ZeroMQ 上下文。// 绑定套接字到特定地址。

2023-07-11 19:36:19 48

原创 zeroMq的pub sub

/ 发布间隔为1秒。// 初始化 ZeroMQ 上下文。// 初始化 ZeroMQ 上下文。// 创建 PUB(发布)套接字。// 销毁 ZeroMQ 上下文。// 创建 SUB(订阅)套接字。// 销毁 ZeroMQ 上下文。// 绑定套接字到特定地址。// 设置订阅的频道。创建子线程/发布者线程。

2023-07-11 19:34:49 126

原创 qeroMq sssss

/ 设置订阅的频道,例如网络摄像头的地址。// 初始化 ZeroMQ 上下文。// 创建 SUB(订阅)套接字。// 销毁 ZeroMQ 上下文。// 连接到网络摄像头。

2023-07-07 20:50:32 121 1

原创 Qt使用zeromq连接网络摄像头

/ 替换为实际的网络摄像头地址。// 将地址转换为字节数组。// 设置订阅的频道,例如网络摄像头的地址。// 初始化 ZeroMQ 上下文。// 创建 SUB(订阅)套接字。// 销毁 ZeroMQ 上下文。// 连接到网络摄像头。

2023-07-07 20:47:12 225

原创 卡尔曼滤波器

卡尔曼滤波器

2023-05-05 10:58:56 231 1

原创 Qt上位机,多线程,网络,串口,曲线拟合,scpi

涉及多线程,线程池,串口,socket,SCPI协议的程控仪表,图像绘制,excel表格,最小二分法曲线拟合

2023-05-05 10:56:53 779 4

C#初学 工程1500行左右 Serial + 多线程 +数据处理

C#初学 工程1500行左右 Serial + 多线程 +数据处理

2023-12-06

GD32F450 USB ADC DMA IIC FLASH GPIO

整个项目文件均在压缩包

2023-12-06

qt输出excel文档,linux window下均可使用

qt输出excel文档,linux window下均可使用

2023-11-27

linux下qt代码的串口助手

linux下qt代码的串口助手

2023-11-27

卫星导航接收机 卫星星空图

绘制星空图的源码,图像如图所示,使用qt,体现UI界面绘制的方法和跟新界面时的处理

2023-11-27

qt switchbutton源码+应用

qt switchbutton源码+应用

2023-11-27

空空如也

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

TA关注的人

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