自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(212)
  • 资源 (9)
  • 收藏
  • 关注

原创 Qt下MQTT模块的导入(源码直接导入)适用Windows和Linux系统

Qt下MQTT模块的导入(源码直接导入)适用Windows和Linux系统0.环境1.MQTT 源码下载(也可以去官网下载)2.MQTT源码解压成功复制 src/mqtt 文件夹到工程中3.我的工程目录如下4.在工程中添加mqtt源码文件5. 在MqttDemo.pro 文件增加 network 模块6. 编写如下测试代码7. OK进行工程编译1)出现第一个问题头文件找不到2)出现第二个问题 未定义的引用3) 到此成功完成构建8. 以OneNet平台为例进行Windows端验证8. 以OneNet平台为例进

2022-03-22 15:02:44 1902 4

原创 Linux Qt下MQTT模块的导入(编译成库版本)几乎适用所有版本

Linux Qt下MQTT模块的导入(编译成库版本)几乎适用所有版本前言MQTT 源码下载一、采用windows共享文件编译出错(ln: 无法创建符号链接 lib*.so : 不支持的操作)二、将下载的mqtt-master拷贝到ubunut下,这里我cp到桌面:1.进入到qmqtt-master目录2.修改 .qmake.conf 如下:3.创建 build目录 mkdir build/4.进入 build目录 执行 qmake .. --> make -j45.编译完成二、导入工程验证1.新建Q

2021-11-23 11:40:18 2702 5

原创 6-1 sdust-Java-模拟主板、USB口、TypeC口、PS2口设备 (30 分))

@[TOC](6-1 sdust-Java-模拟主板、USB口、TypeC口、PS2口设备 (30 分))题目描述使用Java编码设计实现模拟计算机硬件中的主板、USB口、TypeC口、PS2口及其组合方式。通常,计算机主板中提供了各种不同类型的对外接口,可以对接不同类型的设备。例如,可以接USB口的U盘、鼠标等,可以接口TypeC口的鼠标、键盘,可以接PS2口的键盘。要求:通过下面Main类...

2019-09-23 14:23:02 550

原创 Qt customEvent使用详解

qt自定义事件的处理

2023-04-04 12:00:45 331 1

原创 ARM ubunut 安装qt5

ARM ubunut 安装qt5

2023-02-21 14:38:22 466

原创 scp自动输入密码配置

scp免密操作配置

2023-02-09 10:07:47 2076

原创 Qt 信号与槽 传输自定义结构体跨线程访问程序异常退出问题

在使用自定义结构体的时候发现在同一个线程里面的信号发送和槽函数访问使用是正常的当跨线程信号与槽连接访问自定义结构体时发生访问异常程序异常退出修改前} };修改后} };

2022-08-11 10:42:33 912

原创 QtMqtt 错误QMQTT::ClientError转 QString

代码】QtMqtt 错误QMQTT::ClientError转 QString。

2022-08-05 19:55:23 398

原创 Linux平台关于可执行程序的动态库加载路径(rpath)的查看与修改

修改rpath($ORIGIN是一个特殊的变量,指示实际的可执行文件名。它在运行时解析到可执行文件的位置,在设置RPATH时非常有用)

2022-07-30 15:08:10 1795

原创 CmakeLists语法与实战

CmakeLists语法与实战

2022-07-07 11:48:37 1856

原创 QtMqtt 源码编译设置KeepAlive后ping包超时错误不返回问题修复(QMQTT::MqttNoPingResponse,QMQTT::ClientPrivate::onPingTimeo)

调用 setKeepAlive() 设置心跳包后,心跳可以正常收发此时断开网络出现如下情况明显出现还未超时就重启了超时定时器,查看源码如下:void QMQTT::ClientPrivate::onTimerPingReq(){ if (!isConnectedToHost()) return; Frame frame(PINGREQ); sendFrame(frame); _pingResponseTimer.start(); // 直接就重启

2022-05-26 12:09:35 564 1

原创 天翼云等服务器配置Apache Web服务

天翼云等服务器配置Apache Web服务1 安装Apache2 防火墙操作3 配置修改Apache默认端口(不建议使用80端口,部分服务器不允许)4 重启 apache2 服务配置安全组(添加规则)输入服务器外网 ip:9080 就可访问系统: ubuntu 16.041 安装Apachesudo apt-get install apache22 防火墙操作// 启用 ufwufw enable// 禁用 ufwufw disable// 查看防火墙状态及规则列表ufw stat

2022-04-21 13:04:13 1027

原创 c++ 去除字符串首尾的空白字符

c++ 去除字符串首尾的空白字符方法一使用find_first_not_of和find_last_not_of方法二使用正则表达式(c++11)测试测试结果方法一使用find_first_not_of和find_last_not_of/** * @brief Trimmed 去掉首尾 空格白 * @param str */void Trimmed(std::string& str) { str.erase(0, str.find_first_not_of(" \r\n\t\v\

2022-04-20 20:44:01 3295

原创 VScode配置支持c++11和配置自动编译调试功能

VScode配置支持c++11和配置自动编译调试功能1 在工程目录下新建.vscode目录2 在.vscode目录下创建c_cpp_properties.json文件内容如下2.1 添加c_cpp_properties.json后,关于c++11的相关类型或字段函数都可以正常识别了(如:atomic,auto,to_string等)3 在.vscode目录下创建launch.json文件内容如下4 在.vscode目录下创建tasks.json文件内容如下5 在CMakeLists.txt添加如下内容,才能

2021-12-14 13:11:32 4147

原创 Qt控件样式QSS

Qt控件样式QSSQt部分控件QSS样式Qt部分控件QSS样式"QWidget{boeder: 1px solid #000; background: rgba(255,255,255,130);border-radius: 5px;}"" \QListWidget { outline: none; border:1px solid #00000000

2021-11-18 13:54:33 369

原创 Qt 配置自动清理中间文件 --- qmake

QMAKE_POST_LINK += make clean在工程配置文件 .pro 中添加如吓内容:QMAKE_POST_LINK += make clean

2021-10-27 14:32:46 1381

原创 Ubuntu配置 NFS

Ubuntu配置 NFS一、安装nfs服务二、修改配置文件内容重启服务器showmount -e 查看可挂在的路径二、挂载一、安装nfs服务sudo apt-get install nfs-kernel-server提示:以下是本篇文章正文内容,下面案例可供参考二、修改配置文件sudo vim /etc/exports 内容/home/gp/Desktop/share_nfs *(rw,sync,no_root_squash,no_subtree_check)/mnt/hgfs/V

2021-10-20 13:40:09 703

原创 Qt-QDebug格式输出、自定义类输出及重定向输出Log

Qt-QDebug格式输出、自定义类输出及重定向输出Log一、qDebug() 格式化输出格式化demo二、qDebug() 自定义类输出1.重载操作符 << 放在与类声明的头文件中, 在类的声明外部mycalss类的头文件mycalss类的源文件调用三、qDebug() 输出重定向 LOG 文件多线程输出是需要考虑线程安全问题定义相关的变量和接口在主函数进行输出重定向绑定完整demo下载运行结果图一、qDebug() 格式化输出qDebug格式化支持printf的格式化标识符如果向

2021-10-12 12:35:11 4117

原创 Qt5.12.9 搜狗输入法不能使用,配置解决方案

Qt5.12.9 搜狗输入法不能使用,配置解决方案查找Fcitx输入法的库cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontextsls -lcp 到 QT 对应的两个目录下:sudo cp libfcitxplatforminputcontextplugin.so ~/Qt5.12.9/5.12.9/gcc_64/plugins/platforminputcontextssudo cp libfcitxplatforminp

2021-04-14 11:42:59 978

原创 Qt对象线程安全

Qt对象线程安全Qt对象线程安全Qt 多线程(QThread, QtConcurrent)Qt 获取主线程地址(qApp->thread())Qt对象线程安全  尽量在对象的生存线程操作对象(如:QTimer、QTcpSocket)  UI 对象只能在主线程操作(如:QLabel、QWidget)不按上述操作,Qt 认为是线程不安全的,在程序运行过程中极易出现程序异常崩溃Qt 多线程(QThread, QtConcurrent)  QThread : 传统  QtConcurrent:

2021-04-02 13:03:30 1199 2

原创 程序占用cpu时间计算

程序占用cpu时间计算源码CMakeLists.txtcmake_minimum_required(VERSION 3.5)project(RunTimeCnt LANGUAGES CXX)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Os -std=c++11 -O3 -lpthread")set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED ON)add_executable(RunTi

2021-04-02 11:05:01 1709

原创 STM32基础---BH1750 硬件 IIC 驱动程序+ 测试demo

STM32基础---BH1750 硬件 IIC 驱动程序+ 测试demo:STM32CudeMx+MDK-ARMBH1750 简介产品介绍产品特点测量程序步骤BH1750 简介产品介绍  BH1750FVI 是一种用于两线的数字型光照强度传感器集成电路。这种集成电路可以根据收集的光线的强度数据来调整液晶或数字键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。(1lx - 65535lx)产品特点  1 支持IIC BUS接口(f/f Mode Support)  2 输出对应亮度的

2021-03-20 16:15:43 3444 3

原创 Ubuntu16.04 安装 mysql 教程

Ubuntu16.04 安装 mysql 教程安装命令wct@ubuntu:~$ sudo apt-get install mysql-serverwct@ubuntu:~$ sudo apt-get install mysql-client出现如下错误2 not fully installed or removed.Need to get 0 B/10.0 kB of archives.After this operation, 111 kB of additional disk spac

2020-07-03 15:52:11 820

原创 Windows下 MQTT模块的导入(编译成库版本)

Windows下 MQTT源码移植  可以说该移植支持所有的Qt版本吧  WInd10 + Qt 5.6.3 + QT…MQTT源码下载地址对下载的源码包进行解压首先需要修改.qmake.conf中的版本信息,为当前你所使用的的qt的版本号,我这里修改为:MODULE_VERSION = 5.6.3打开Qt 打开该工程qmqtt.pro打开项目进行构建到此可以去看见out下生成了库文件这两个文件使我们需要用到的最最最最最最重要的两个文件夹了新建一个项目进行测试首先新建

2020-06-30 11:55:12 2476 11

原创 Linux Qt下MQTT模块的导入(源码移植)

Qt 下 MQTT模块的导入     这里介绍最实用最方便快捷的办法MQTT 源码下载下载地址 ------下载的要是mqtt-master解压下载的包然后找到src/mqtt文件夹 ,copy到工程路径下此路径为新建的工程路径,mqtt_test_00 为我的工程名在工程中添加一系列的 mqtt 的源码文件选中所有的.h文件添加到工程中选中所有的.cpp文件添加到工程中接下就是一系列的改错首先在.pro文件中添加 QT += network然后在.h文件中添加几个头文件

2020-06-29 18:18:48 6045 36

原创 Linux 进程间的通信(五)---共享内存通信+信号量

Linux 进程间的通信(五)—共享内存通信+信号量共享内存通信简介  共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以.  主要有以下几个API:shmget()、shmat()、shmdt()及shmctl()。shmget()用来获得共享内存区域的ID,如果不存

2020-05-14 17:04:02 642

原创 Linux 进程间的通信(四)---信号量

Linux 进程间的通信(四)—信号量信号量  为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。工作原理  由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们的行为是这样的:  P(sv):如

2020-05-13 15:03:12 295

原创 Linux 进程间的通信(三)---消息队列

Linux 进程间的通信(二)—消息队列  消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。消息队列与命名管道一样,每个数据块都有一个最大长度的限制消息缓冲区结构  常用的结构是msgbuf结构。程序员可以以这个结构为模板定义自己的消息结构。在头文件<linux/msg.h>中,它的定义如下所示:struct msgbuf { long mtype; char mtext[1];};

2020-05-11 17:26:17 739

原创 Linux 进程间的通信(二)---共享内存通信

Linux 进程间的通信(二)—共享内存通信共享内存通信简介  共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以.  主要有以下几个API:shmget()、shmat()、shmdt()及shmctl()。shmget()用来获得共享内存区域的ID,如果不存在指定的

2020-05-09 18:43:24 318

原创 Linux 进程间的通信(一)---管道通信(有名管道和无名管道)

Linux 进程间的通信(一)—管道通信(有名管道和无名管道)Linux 下进程间通信概述   进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据...

2020-05-06 21:14:58 1437 1

原创 VMware Tools灰色解决办法

VMware Tools灰色解决办法方案一:将CD/DVD、CD/DVD2 和软盘等设置为自动检测,也就是这里的有如图连接选项的都选择为自动检测,当然了,我这里没有那么多,最好是在没开机的情况设置,反正设置完后需要重启方案二:使用 ISO 映像文件(VMware 的下载包里有一个 linux.iso)-------个人感觉这个方法不太好,他会把有的其他的用户给你整进来了重启: init...

2020-04-17 15:43:47 3105

原创 VMware配置共享文件夹(Ubuntu)

VMware配置共享文件夹(Ubuntu-16.04)在配置之前你得先把 VMware Tools 装好 : 如果你的 VMware Tools 是灰色的,你可以这样解决  点击这里打开 虚拟机–> 设置如果你操作到这里没有看见共享文件夹,那你得执行一条命令,然后就可以了cd /usr/binsudo ./vmware-config-tools.pl// 根据提示操...

2020-04-17 15:31:00 10560

原创 浅谈 *.axf,*.bin,*.hex 文件

浅谈 .axf,.bin,*.hex 文件  在Keil_MDK 中若编译过程无误,即可生成工程的*.axf 文件,而在 MDK 中使用下载器(DAP/JLINK/ULINK 等)下载程序或仿真的时候,MDK 调用的就是*.axf 文件,它解释该文件,然后控制下载器把*.axf 中的代码内容下载到 STM32 芯片对应的存储空间,然后复位后芯片就开始执行代码了。然而,脱离了 MDK 或 IAR ...

2020-04-07 22:01:14 3429

原创 实现 Keil C51 & MDK 共存

实现 Keil C51 & MDK 共存首先安装好 MDK 的环境MDK 安装教程  其次安装 Keil C51下载链接:https://pan.baidu.com/s/1w–Qm177pW-mWag_dzRw6g提取码:u8id右键管理员身份运行 这里的路径一定不要选择错了,一般情况下灰默认是你安装的 MDK 的路径 等待安装完成...

2020-04-07 19:33:09 934

原创 7-4求一批整数中出现最多的个位数字(20分)

参考代码public class Main { public static void main(String[] args) { int [] a = new int[10]; // 用于记录数字出现的次数 int numMax = 0; Scanner cin = new Scanner(System.in); int n = cin.nextInt(); ...

2020-04-07 18:21:38 1082

原创 Code-data,RO-data,RW-data,ZI-data 程序运行时加载过程

Code-data,RO-data,RW-data,ZI-data 程序运行时加载过程浅谈Keil-MDK创建项目&编译过程Code-data,RO-data,RW-data,ZI-data 详解加载过程RW-data 和 ZI-data 它们仅仅是初始值不一样而已,为什么编译器非要把它们区分开?这就涉及到程序的存储状态了,应用程序具有静止状态和运行状态。静止态的程序被存储在非易...

2020-04-06 23:32:01 1131

原创 谈谈Keil-MDK编译输出的:Code-data,RO-data,RW-data,ZI-data

Code-data,RO-data,RW-data,ZI-data这些有个大概的了解即可,不用研究太细,主要是让你工程过大的时候规划哈数据怎么存放,硬件资源有限的,开发时得做好规划:程序存储时占用的ROM区大小(内部Flash):Code + RO-data + RW-data程序执行时的只读区域(RO)(Flash) : Code + RO data程序执行时的可读写区域(RW)(SR...

2020-04-06 23:17:28 4184

原创 浅谈Keil-MDK创建项目&编译过程---Code-data,RO-data,RW-data,ZI-data

浅谈Keil-MDK创建项目&编译过程---Code-data,RO-data,RW-data,ZI-data一、编译过程二、MDK 编译工具(1)创建一个新的工程(2)添加 startup(启动文件,由汇编编写)(3) 初识工程常见一串错误分析(4) 看看编译过程输出显示的信息三、Code-data,RO-data,RW-data,ZI-data 介绍四、最后附带一张图,了解哈工程文件的...

2020-04-06 16:55:26 3263

原创 My Minesweeper

Minesweeper

2020-03-04 13:56:35 215

原创 Linux 安装 QT 5.5

Linux安装QT 5.5QT下载安装 ./qt-opensource-linux-x64-5.5.1.run根据向导一直点 NEXT 到完成cannot find -lGL 错误处理sudo apt-get install libgl1-mesa-devQt5.5.1/Tools/QtCreator/lib/qtcreator/plugins/libHelp.so: 无法加载库...

2020-02-22 15:01:48 1394

qwt附带cmake工程管理包

qmake cmake 管理工程

2023-07-25

linuxdeployqt

12321321321321321321321321333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333

2023-03-07

MyMosquitpp.zip

基于mosquitto库,自定义实现Mqtt client对象,linux下。

2021-12-14

QmqttDemo.zip

QmqttDemo.zip

2021-11-23

MyQDebugDemo.rar

MyQDebugDemo.rar

2021-10-12

STM32硬件I2C_BH1750驱动demo.rar

基于STM32 硬件I2C BH1750驱动程序 demo

2021-03-20

mqtt_test_01.rar

MQTT测试小demo,oneNET平台的连接

2020-06-30

qmqtt-master123.rar

mqtt 源码包

2020-06-30

Altium Designer 3D模型_STEP.rar

Altium Designer 3D模型_STEPAltium Designer

2020-04-06

1-STM32官方手册.zip

STM32 官方手册

2020-04-06

3-F103固件库手册.zip

API文档

2020-04-06

空空如也

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

TA关注的人

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