- 博客(62)
- 资源 (3)
- 收藏
- 关注
原创 qt 按钮点击后左上后出现边框
前言最近设置按钮时,因为设置了无边框以及透明属性,点击时老师出现左上两个方向出现边框,看起来很不舒服,如图一点击就出现这种情况,很烦很烦。之前也一直遇到了,不知道怎么给解决了,今天就像找出来记录一下方法只需要在这个歌按钮样式里面添加这个属性,就可以避免border-radius: 0px;我不理解的是,页面这块我做的比较少,border-radius但是这个属性应该是设置按钮边角的弧度,怎么会莫名和我上面的问题有关,希望大佬留言!...
2022-04-22 11:33:50
1356
原创 QT 正则表达式截取字符串
前言今天工作过程中,由于需要解析接口数据,数据格式是json,我需要依据里面的药品规格来进行相关操作,"Specification:1ml+20mg:,我的方式是截取冒号后的字符串,通过mid进行截取判断是几毫升的,但尴尬的是被我师傅发现了,他说他早就知道我会这么搞,他的建议的采用正则表达式的方式来接截取会更好一点。直接上代码解决今天的问题qt新建了一个demo,就以这个字符串为例:“specification:1mlLsl*30mg",目标是截取到1ml代码:/** * @brief Main
2022-04-18 22:02:24
3161
原创 XP系统下,QT QComboBox 点击选择完之后显示为空
原因是QComboBox在获取到焦点后就会不显示,因此在选择下拉列表的同一个选项时或者通过Tab键聚焦到QComboBox上时,内容仍然是不可见的。解决方法方法: setFocusPolicy(Qt::NoFocus); 使QComboBOx不会获取焦点。...
2022-02-08 15:42:31
1919
原创 Qt 安装包制作(基于Qt Installer Framework)
目录下载 Qt Installer Framework程序打包发布创建安装包程序下载 Qt Installer Framework官方下载:http://download.qt.io/official_releases/qt-installer-framework/ 选择一个版本进行下载点击.exe下载(个人建议)根据提示进行安装程序打包发布先要在release模式下编译运行程序,生成release版本,也就是发布版本。默认一般路径:"E:\Qt_Project\……\
2021-09-01 16:40:54
6377
6
原创 药箱控制-arduino
#include <Arduino.h>#include <EEPROM.h>#define LOCK_PIN 2#define PWM_PIN 3#define DIR_PIN 4#define Microstep 6000#define STORGE_CMD 0x7E#define PUIOUT_CMD 0x7Dvolatile int BottleLeftNum;int state;int medicNum;int buff[3];volat
2021-04-27 21:11:25
516
原创 基于STM32的超声波感应垃圾桶
成果演示材料STM323f103开发板,最小系统均可。超声波模块(HC-SR04模块)舵机一个垃圾桶模型主要代码超声波模块#include "ultrasonsic.h"#include "delay.h"u8 msHcCount = 0;//ms计数static void NVIC_Config(){ NVIC_InitTypeDef NVIC_InitStruct; //设置中断组为2 NVIC_PriorityGroupConfig(NVIC_PriorityGr
2021-02-28 12:54:01
1952
5
原创 STM32 PWM控制舵机
舵机简介舵机是指在自动驾驶仪中操纵飞机舵面(操纵面)转动的一种执行部件。分有:①电动舵机,由电动机、传动部件和离合器组成。接受自动驾驶仪的指令信号而工作,当人工驾驶飞机时,由于离合器保持脱开而传动部件不发生作用。②液压舵机,由液压作动器和旁通活门组成。当人工驾驶飞机时,旁通活门打开,由于作动器活塞两边的液压互相连通而不妨碍人工操纵。此外,还有电动液压舵机,简称“电液舵机”。舵机工作原理舵机的主要组成部分为伺服电机,所谓伺服就是服从信号的要求而动作。在信号来之前,转子停止不动;信号来到之后,转子立即运
2021-02-27 14:54:01
34491
29
原创 STM32 超声波模块测距
目录HC-SR04模块HC-SR04超声波测距模块工作原理HC-SR04超声波模块的时序触发图思路步骤代码实验结果总结HC-SR04模块HC-SR04超声波测距模块工作原理(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;(4)本模块使用方法简单,一个控制口发一个10US
2021-02-26 19:56:27
35953
76
原创 STM32定时器-基本定时器
目录定时器分类基本定时器功能框图讲解基本定时器功能时钟源计数器时钟计数器自动重装载寄存器定时时间的计算定时器初始化结构体详解实验定时器分类STM32F1 系列中,除了互联型的产品,共有 8 个定时器,分为基本定时器,通用定时器和高级定时器。基本定时器 TIM6 和 TIM7 是一个 16 位的只能向上计数的定时器,只能定时,没有外部IO。通用定时器 TIM2/3/4/5 是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,每个定时器有四个外部 IO。高级定时器 TIM
2021-02-25 12:53:14
3472
1
原创 STM32 系统(SysTick)定时器实验
目录SysTick 简介SysTick 寄存器介绍SysTick 定时时间计算SysTick 定时实验实验结果SysTick 简介SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3
2021-02-05 12:43:35
4970
原创 IMX6ULL开发板的第 1 个驱动程序
目录描述所用设备前提编译内核(IMX6ULL开发板)编译内核模块安装内核和模块到开发板上体验第 1 个驱动程序开发板上运行所用设备IMX6ULL开发板、ubuntu18前提已经配置好了交叉工具编译链(后面会把这个相关步骤补起来)为什么编译驱动程序之前要先编译内核?① 驱动程序要用到内核文件:比如驱动程序中这样包含头文件:#include <asm/io.h>,其中的 asm 是一个链接文件,指向 asm-arm或 asm-mips,这需要先配置、编译内核才会生成 asm 这个链接文
2021-02-03 15:51:43
724
4
转载 树莓派扩展root分区
输入 df -lh发现树莓派内部分区大小何SD不一致亲测有效https://blog.csdn.net/weixin_41656968/article/details/79833712
2021-01-03 19:00:12
249
原创 再见2020
纯属纪念一下#include <stdio.h>int main(){ printf("Goodbye 2020!\n"); printf("Welcome to 2021!\n"); return 0;}
2020-12-31 13:23:43
156
原创 libcurl库编译方法
一、libcurl简介libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP这些协议,同时支持使用SSL证书的安全文件传输:HTTP POST, HTTP PUT, FTP 上传, 基于HTTP
2020-12-29 19:41:46
5592
1
原创 STM32 独立看门狗实验
一、STM32 独立看门狗简介STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 40Khz,而是在 30~60Khz 之间的一个可变化的时钟,只是我们在估算的时候,以 40Khz 的频率来计算,看门狗对时间的要求不是很精确,所以,时钟有些偏差,都是可以接受的。首先我们得讲解一下看门狗的原理。这个百度百科里面有很详细的解释。我们总结一下:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现
2020-12-25 10:14:21
1401
原创 解决ubuntu里面时间不正确的办法
进入终端快捷键 ctrl+alt+t输入一下命令sudo tzselect选择 Asia 输入4按回车选择 China 输入9按回车选择 Beijing Time 输入1按回车最后选择 Yes 输入1按回车创建时区输入以下命令即可sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime...
2020-12-08 16:24:27
673
原创 编写第一个Makefile(HelloWorld)
什么是Makefile讲makefie之前,先将将什么是make;make是一个命令工具,是一个解释makefile中指令的命令工具。它可以简化编译过程里面所下达的指令,当执行 make 时,make 会在当前的目录下搜寻 Makefile (or makefile) 这个文本文件,执行对应的操作。make 会自动的判别原始码是否经过变动了,而自动更新执行档。makefile其实就是一个文档,里面定义了一系列的规则指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,它记录了原始码如何编译的详
2020-12-04 20:58:16
3359
原创 PWM调光调色温技术学习(笔记)
前言在智能化的浪潮中,智能照明是智能家居中非常重要的一部分。由于LED照明的大量普及,相对于传统的节能灯和白炽灯,LED照明的可塑性强很多,这其中LED灯的亮度调节和色温调节已经成为智能照明的主流需求。本文就从LED照明的亮度调节、色温调节等两个方面来介绍其中相关的技术和方法。使用PWM调光原因传统照明的亮度调节包括线性调光,可控硅调光,其中可控硅调光是白炽灯时代的主流调光技术,目前仍然有较多的应用。不过随着LED照明的的兴起,PWM调光成为更加便捷、高效、安全的调光方式。PWM调光(亮暗)PWM
2020-12-03 15:49:02
10571
3
原创 实现文件里字符替换功能
思路首先要打开你要打开的文件例如我这边桌面的demo.txt,利用相关函数计算出这个文件大小,然后开始遍历里面的内容,一个字符一个字符的遍历,如果找到了要被替换的字符就当场重新把新的内容赋值进去,最后重新覆盖整个文章。(可能表达有误,可直接看代码)代码#include <stdio.h>#include <stdlib.h>char *strChar(){ char *str = (char *)malloc(2); gets(str); return st
2020-11-20 20:03:09
272
原创 按位与、按位或、按位异或等等(& | ^ ~ >> <<)
1.位运算概述从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。口说无凭,举一个简单的例子来看下CPU是如何进行计算的,比如这行代码:int a = 35;int b = 47;int c = a + b;计算两个数的和,因为在计算机中都是以二进制来进行运算,所以上面我们所给的int变量会在机器内部先转换为二进制在进行相加:35: 0 0 1 0 0 0 1 147: 0 0 1
2020-11-14 15:56:07
767
1
原创 函数指针和指针函数、数组指针和指针数组的区别
前言当了解过函数指针和指针函数、数组指针和指针数组后,只要隔了段时间又会搞混,每次都得再去查,这次索性自己写个加深印象。函数指针函数指针,其本质是一个指针变量,该指针指向这个函数。总结来说,函数指针就是指向函数的指针。声明格式:类型说明符 (*函数名) (参数)如下:int (*fun)(int x,int y);...
2020-11-14 15:28:03
585
原创 STM32 ADC转换实验
STM32 ADC 简介STM32 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。STM3
2020-10-29 09:42:24
3936
3
原创 STM32外部中断实验-EXTI
STM32 外部中断简介STM32 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 的强大之处。STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F103 的19 个外部中断为:线 0~15:对应外部 IO 口的输入中断。线 16:连接到 PVD 输出。线 17:连接到 RTC 闹钟事件。线 18:连接到 USB 唤醒事件从上面可以看出,STM32 供 IO 口使用的中断线只有 16 个,
2020-10-19 13:51:42
3790
9
原创 STM32串口配置实验
STM32 串口简介串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。现在基本上所有的 MCU 都会带有串口,STM32 自然也不例外。STM32 的串口资源相当丰富的,功能也相当强劲。ALIENTEK 战舰 STM32 开发板所使用的 STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持 LIN、支持调制解调器操作、智能卡协议和 IrDA SIR ENDEC 规范、具有 DMA等。STM32 串口通信接口U
2020-10-17 14:26:10
1266
原创 STM32配合火焰传感器的火灾报警
实验材料STM32F03(我这里用的是正点原子的战舰)火焰传感器还有个蜂鸣器,我这个开发板自带,也是可外接的火焰传感器介绍工作原理传感器模块在环境火焰光谱或者光源达不到设定阈值时,DO 口输出低电平,当外界环境火焰光谱或者光源超过设定阈值时,模块 DO口输出高电平引脚说明(这个传感器有三个引脚的也有两个引脚的)我这里介绍三个引脚的原理图实验测试思路:我们可以根据工作原理加上蜂鸣器的配合,当有火焰靠近时,DO引脚输出的高电平,然后让蜂鸣器响。这样就能大致模仿火灾报警。连线
2020-10-15 22:14:02
27153
58
原创 STM32F103ZE新建固件库模板
固件库介绍固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道, 向上提供用户函数调用的接口(API) 。 在 51 的开发中我们常常的作法是直接操作寄存器,比如要控制某些 IO 口的状态,我们直 接操作寄存器: P0=0x11; 而在 STM32 的开发中,我们同样可以操作寄存器: GPIOx->BRR = 0x0011; 这种方法当然可以,但是这种方法的劣势是你需要去掌握每个寄存器的用法,你才能正确使用 STM32,而对于 STM32 这种级别的 MCU,数百个寄存器记起来又是谈何
2020-10-14 10:31:45
467
原创 基于C语言Ncurse库和链表的简单贪吃蛇小游戏
Ncurses库相关介绍ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。ncurses名字中的n意味着“new”,因为它是curses的自由软件版本。由于AT&T“臭名昭著”的版权政策,人们不得不在后来用ncurses去代替它。ncurses是GNU计划的一部分,但它却是少数几个不使用GNU GPL或LGPL授权的GNU软件之一。其实我们对ncurses本身并不陌生,以下几款大名鼎鼎的软件都用到过ncurses:vime
2020-09-29 10:23:51
333
原创 基于树莓派博通BCM2835芯片手册导读写编简单引脚驱动代码编译和测试(树莓派)
编写引脚驱动代码这边写的是17引脚的驱动代码代码(IO口控制的代码在下面),这边只是简单的代码驱动代码#include <linux/fs.h> //file_operations声明#include <linux/module.h> //module_init module_exit声明#include <linux/init.h> //_init _exit声明
2020-09-16 16:16:09
702
原创 ubuntu 右键怎么添加新建空白文本文件
安装好ubuntu18.04发现右键菜单中没有新建空白文件了,这样工作的时候需要创建文本文件就不是很方便了,这里我们就可以通过以下的方式把新建空白文件添加到右键就可以了。安装好ubuntu18.04,进入桌面右键发现并没有新建空白文件选项打开文件夹,在用户主目录里找到 模板 文件夹。打开后我们发现里面是空的,什么文件也没有。然后我们在里面右键 在终端打开。使用gedit命令打开一个文本文件。sudo gedit 文本文件*由于我要写c,就sudo gedit demo.c
2020-08-13 11:35:25
1466
原创 virtualbox中ubuntu和windows共享文件夹设置
1、安装VBoxGuestAdditions_4.3.8.iso增强工具安装完毕后根据提示重启Ubuntu,具体操作如下:a、把VBoxGuestAdditions_4.3.8.iso镜像到Ubuntu中,存放在Ubuntu的/media目录中,操作如下:b、安装virtualbox增强包linuxidc@ubuntu:~$ cd ~linuxidc@ubuntu:~$ su -密码:root@ubuntu:~# cd /media/root@ubuntu:/media# lssf_sh
2020-08-10 14:40:53
215
原创 树莓派外设小开发(继电器、语音模块、超声波模块)
wiringPi库安装与查看首先要了解wiringPi库wiringPi是一个很棒的树莓派IO控制库,使用C语言开发,提供了丰富的接口:GPIO控制,中断,多线程,等等。验证wiringPi的是否安装成功,输入gpio -v,会在终端中输出相关wiringPi的信息。查看树莓派的引脚编号gpio readallwiringPi库API大全在使用wiringPi库时,你需要包含头文件 #include<wiringPi.h>。凡是写wiringPi的程序,都包含这个头文件。硬
2020-08-10 10:03:23
707
原创 linux库概念及其编程
分文件编程案例好处分文件编程思想,功能责任划分,方便调试,主程序简洁例子demo.c#include <stdio.h>#include "demo.h"int main(){ int data1; int data2; int add; int minus; int mult; float div; printf("请输入第一个数\n"); scanf("%d",&data1); printf("请输入第二个数\n"); scanf("%d",&a
2020-08-05 09:53:12
2231
原创 网络编程(Linux系统编程)
socket编程步骤模拟场景Sockt服务器和客户端的开发步骤Linux提供的API简析创建套接字(连接协议)int socket(int domain,int type,int protocol)准备好地址int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);地址转换API int inet_aton(const char *straddr, struct in_addr *addrp)
2020-07-29 11:30:01
193
WiringPi.rar
2020-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人