自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 资源 (8)
  • 论坛 (2)
  • 收藏
  • 关注

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

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

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

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

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

2021-10-27 14:32:46 22

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

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

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

2021-10-12 12:35:11 113

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

原创 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 149 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 497

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

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

原创 Windows下 MQTT源码移植(几乎所有的Qt版本都适用)
原力计划

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 1298 4

原创 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 2085 24

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

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

2020-05-14 17:04:02 348

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

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

2020-05-13 15:03:12 153

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

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

2020-05-11 17:26:17 244

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

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

2020-05-09 18:43:24 133

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

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

2020-05-06 21:14:58 514

原创 VMware Tools灰色解决办法

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

2020-04-17 15:43:47 730

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

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

2020-04-17 15:31:00 2003

原创 浅谈 *.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 1306

原创 实现 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 358

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

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

原创 谈谈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 646

原创 浅谈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 317

原创 My Minesweeper

Minesweeper

2020-03-04 13:56:35 138

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

原创 嵌入式软件设计---笔记

嵌入式软件设计—笔记1.1 引言、计算机系统由硬件系统和软件系统所组成,软件系统中最为重要的是操作系统。Linux作为操作系统管理着计算机内所有的硬件资源和软件资源,仿佛是计算机的灵魂。Linux系统基于GPL 协议发布,该协议是GNU项目所创立开放源代码的公共许可证。1.2 Linux 内核内核是操作系统的心脏,系统其他部分必须依靠内核这部分软件提供的服务,例如管理硬件设备、分配系...

2020-02-10 21:26:20 244

原创 2.1 GCC/G++ 编译选项部分详解

2.1 GCC/G++ 编译选项编译选项说明-c只进行预处理、编译和汇编,生成 .o文件-S只进行预处理和编译,生成 .s 文件-E只进行预处理,产生预处理后的结果到标准输出-C预处理时不删除注释信息,常与 -E 同时使用-o指定目标名称,常与 -c、-S 同时使用, 默认是 .out-include file插入一个文件,功能等同源...

2020-02-10 15:46:09 462

原创 keilc 5安装教程&Import Package

kelic 5安装教程软件包链接提取码:ocnq安装步骤都以管理员身份运行

2020-02-03 15:00:45 612 2

原创 STM32cubeMX环境配置安装

STM32cubeMX环境配置安装-汉化-主题设置一、 首先在电脑上安装完成 Java (v1.7以上)的环境[java](https://www.java.com)二、STM32cubeMx下载三、STM32cubeMx安装STM32CubeMx配置STM32Cube是软件工具和嵌入式软件库的组合: ·全套PC软件工具,可满足整个项目开发周期的所有需求 ·可在STM32微控制器和...

2020-02-02 22:16:15 2410

原创 STM32cubeIDE环境配置安装-汉化-主题设置

STM32-cube环境配置安装一、 首先在电脑上安装完成 Java 的环境二、STM32cubeIDE下载link根据自己的电脑选择相应的版本下载点击获取软件------点击接受选择存放的路径----保存** 解压下载好的 文件**...

2020-02-02 17:15:09 21297 17

原创 微信小程序-自定义组件-子向父传递数据

微信小程序-自定义组件-子向父传递数据新建文件TabsTabs.js// components/Tabs/Tabs.jsComponent({ /** * 里面存放的是 要从父组件中接收的数据 */ properties: { // 要接收的数据的名称 aaa:{ // type 要接收的数据的类型 type:String, ...

2020-02-01 17:02:22 1986 1

原创 微信小程序-自定义组件-父向子传递数据

微信小程序-自定义组件-父向子传递数据新建文件TabsTabs.js// components/Tabs/Tabs.jsComponent({ /** * 里面存放的是 要从父组件中接收的数据 */ properties: { // 要接收的数据的名称 aaa:{ // type 要接收的数据的类型 type:String, ...

2020-02-01 16:37:23 1509 3

原创 附加:进程通信-实验3:网络套接字通信

附加:进程通信-实验3:网络套接字通信一.实验目的·理解并掌握网络套接字通信的原理和使用方法。二.实验背景·什么是套接字(socket)·socket可以看作进程访问系统网络组件的接口,它有相应的一块内存,其中存放了它的各种属性。进程对socket的各种操作将转换为对网络组件的操作,从而通过网络收发数据。当属于不同进程的两个套接字之间建立了一个连接,那么,这两个进程就可以通过这一对...

2020-02-01 16:08:14 332

原创 附加:进程通信-实验2:文件套接字通信

附加:进程通信-实验2:文件套接字通信一.实验目的·理解并掌握本地文件套接字的使用方法二.实验背景·什么是套接字(socket)·socket可以看作进程访问系统网络组件的接口,它有相应的一块内存,其中存放了它的各种属性。进程对socket的各种操作将转换为对网络组件的操作,从而通过网络收发数据。当属于不同进程的两个套接字之间建立了一个连接,那么,这两个进程就可以通过这一对套接字进...

2020-02-01 16:05:25 208

原创 附加:进程通信-实验1:管道通信

附加:进程通信-实验1:管道通信一.实验目的·理解并掌握无名管道和命名管道的原理和使用方法二.实验背景·什么是管道?本质上,一个管道是一个只存在于内存中的文件,但与一般文件的属性不同,它不能以读写方式打开。对这个文件的操作要通过两个分别以只读和只写方式打开的文件进行,它们分别代表管道的两端,即读端、写端。通过写端和读端,管道实现了两个进程间进行单向通信的机制。根据适用范围的不同,管...

2020-02-01 16:02:24 237

原创 5 基于共享内存的进程间通信-实验2:使用共享内存对象实现进程同步

5 基于共享内存的进程间通信-实验2:使用共享内存对象实现进程同步一.实验目的·使用共享内存对象实现无关进程间通信的方法·掌握POSIX共享内存对象的使用方法二.实验背景·共享内存的基础是内存映射·用户进程建立内存映射的操作函数时mmap,其原型:#include <sys/mman.h>·调用munmap 函数会删除创建的映射区域;其函数原形:·调用ms...

2020-02-01 15:49:24 918

原创 5 基于共享内存的进程间通信-实验1:使用内存映射文件实现进程间通信

5 基于共享内存的进程间通信-实验1:使用内存映射文件实现进程间通信一.实验目的·使用内存映射文件实现进程通信的方法·使用内存映射文件方法加速IO操作的原理二.实验背景·共享内存的基础是内存映射·用户进程建立内存映射的操作函数时mmap,其原型:#include <sys/mman.h>·调用msync来执行同步,其函数原形:** ·stat和fstat ...

2020-02-01 15:38:09 851

QmqttDemo.zip

QmqttDemo.zip

2021-11-23

STM32硬件I2C_BH1750驱动demo.rar

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

2021-03-20

mqtt_test_01.rar

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

2020-06-30

MyQDebugDemo.rar

MyQDebugDemo.rar

2021-10-12

qmqtt-master123.rar

mqtt 源码包

2020-06-30

1-STM32官方手册.zip

STM32 官方手册

2020-04-06

Altium Designer 3D模型_STEP.rar

Altium Designer 3D模型_STEPAltium Designer

2020-04-06

3-F103固件库手册.zip

API文档

2020-04-06

操作系统

发表于 2020-01-02 最后回复 2020-01-02

##轻松一点#

发表于 2019-12-27 最后回复 2019-12-27

空空如也

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

TA关注的人 TA的粉丝

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