自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QGraphicsView基本初识别

所以,可以将场景理解为一个包含图元的虚拟环境,而视图是用来观察和交互这个环境的窗口或设备。通过在场景中添加、移动、删除图元,同时通过视图来查看和操作,我们可以在图形界面中创建出丰富多样的图形效果和交互体验。圆形和矩形都可以移动,矩形、圆形就是图元,而图元放在我们创建的场景中,场景又透过多个视图来看到,其实可以理解成很多人偷窥你在吃饭的这个场景,饭和你这些角色就是图元。场景可以看作是一个容器,它管理和控制着图元的位置、变换、交互等操作。在图形编程中,图元是指基本的绘图对象,如点、线、矩形、圆形等。

2023-07-31 23:31:30 129

原创 QT多线程的示例

想象现在有一个场景,一共有三个线程线程A需要产生1000以内的随机数,线程B需要对这些随机数进行冒泡排序,线程C需要对这些随机数进行快速排序,主线程用来显示线程A的随机数,并且显示线程A和线程B的处理结果,这里我们还可以对比一下快速排序和冒泡排序的速度。记得在main.cpp里注册类型,不然传递数据有问题,主要是为了支持信号与槽的机制,方便元对象处理跨线程的数据以及跨dll的数据,保证数据的可靠安全,准确判断数据的类型。然后是主线程,主线程主要负责显示生成的随机数以及排序的结果。

2023-07-29 22:27:50 183

原创 关于VS远程调试我要说的是

然后用共享文件夹方式或者U盘将本地主机VS下的拷贝本地msvsmon.exe和相关dll到目标电脑,本地路径为VS2017安装路径(Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger),有x64和x86两个版本,根据需要拷贝对应文件夹即可。由于项目需要,远程的主机配置不够无法安装VS2017,所以现在场景是把VS2017的程序部署到远程主机上,然后在本机上联合远程主机进行远程调试,实现项目测试。

2023-07-24 23:13:33 34

原创 基于Zstack协议栈的智慧农业

智慧农业系统分为上位机和下位机,通信协议使用串口通信,硬件设置两个终端节点和一个协调器,彼此间利用Z-stack协议栈组网,终端节点负责实时采集各类传感器的数据,并将其发送给协调器。协调器通过串口线连接上位机,使用串口协议将接收到的数据按每秒一次的频率发送给上位机。串口通信常见于许多设备之间的数据传输,例如计算机和外部设备如打印机、传感器、微控制器等之间的通信。上述只演示了收到字符串255或253会让灯的IO口变化,其实大体思路也是这样,协调器相当于中转站,负责接收上位机指令或者上传终端数据。

2023-07-04 13:36:36 75

原创 vs qt实现qwidget控件拖动

【代码】vs qt实现qwidget控件拖动。

2023-04-25 15:13:25 421 1

原创 VsQt无法打开pdb文件的问题

一直做qtcreator开发,最近开始上手vs+qt,在运行一个项目的时候发现总是找不到pdb文件,查了好久,网上有说在调试窗口启用源服务器,然后再修改符号的,有说下载一个pdb文件包放在调试路径的,还有修改环境变量的,反正能用的方法都试了一遍,但终于找到了原因在运行vsqt项目时首先得配置好环境,其次得把别人项目中的dll文件全部换成你这个版本的。把这些文件换成你qt安装目录下对应编译器下的bin文件。

2023-04-19 09:18:02 276

原创 stm32 esp01s Qt 巴法云平台控制小灯

这样就可以实现控制led小灯了,进而你控制别的硬件都可以,主题思路就是这些,边边角角需要你自己探索,埋个伏笔,我最近一直在想传感器如何上传数据给qt界面这里。最近一直在想着用esp01s和stm32做个控制的东西,现在先把现在做好的一部分写出来,巴法云平台我觉得是一个不错物联网平台,接口文档资料都十分清晰。一般刚买的esp01s是没有下载AT的,所以你先下载好AT固件,然后用串口助手测试一下。首先准备esp01s,stm32f10c8t6,led,Qt Creator等工具。然后编写stm32的驱动代码。

2023-04-09 16:35:07 702 1

原创 qt+mysql多权限登录界面的实现

首先下载好sqlyog,以及mysql,Qt Creator,Qt在配置mysql的时候可能会遇到有些.dll移植的问题,一般都是把mysql下有的.lib和.dll放到Qt安装目录下。我这里因为代码太多只放一个普通用户注册的代码,首先的if语句就是必须让选择权限,这样才可以进入下一步,然后判断选择了哪个权限,接着判断输入框是否为空我这里自定义了一个bool函数Look。点击不同的登录权限会有不同的登录界面,这样就实现了权限的分配,你可以用此界面开发不同上位机或者管理系统的权限验证,实现不同的功能。

2023-04-03 17:56:07 822 1

原创 ESP8266上位机

ESP8266 wifi通信上位机开发

2023-01-25 17:01:23 679

原创 zstack协议栈广播

本次要完成的是协调器组网成功后每隔5秒广播一个“0123456789”,并且led1灯快速闪烁5次,终端收到"0123456789"后显示到串口上,并且给协调器发送一个OK,协调器收到OK后led2闪烁5次。

2023-01-17 17:05:10 252

原创 zstack协议栈串口

测试发现正常,这下我们可以顺着思路,让协调器组网,终端节点加入网络,然后通过上位机给协调器发指令,协调器转发指令到终端节点,然后控制终端节点。这个是回调函数,就是收到串口发来的指令然后做出相应的处理,这里的逻辑就是收到255打开led1,发送254关闭led1。我们今天测试的是通过串口工具来给协调器发指令,让协调器上的LED1点亮或熄灭。zstack协议栈中串口已经被封装好了,主要有如下几个函数。首先定义串口,配置串口,然后打开串口,配置串口回调函数。

2023-01-17 14:28:29 325

原创 ZStack协议栈点对点通信

因为我们要模拟终端节点向协调器发送数据,协调器对发送的数据判断然后做相应的处理,所以添加Coordinator.c和Coordinator.h还有EndDevice.c和EndDevice.h四个文件。协调器主要是收发终端节点的数据然后汇总这些数据,你可以把这些数据传给上位机等等,终端节点主要用来采集各种传感器数据,协调器首先创建网络,终端节点加入网络,这里面的具体细节还是很有趣的。这个点对点通信主要是终端节点向协调器发送命令D1,协调器收到命令后判断数据是否为D1如果是则会调用闪烁LED的库函数。

2023-01-17 11:13:09 731

原创 zstack自定义用户事件

我们这里是想组网成功后触发用户自定义定时器事件每隔5秒D3灯状态翻转一次,这里我们看到库函数HalLedSet()的第二个参数改变了,这就是设置反转led灯的。接着我们加入定时器在用户自定义事件中,一般加入定时器是为了一秒一秒的收发各类传感器数据,我们采集数据肯定要自定义成一个定时器的用户自定义事件。zstack中有很多任务,任务也就对应事件,系统中有很多系统事件,也可以自定定义自己想要的事件,用户自定义事件的流程如下。这个基本的自定义用户事件是协调器组网成功让第三个灯亮。先声明一个局部变量保存状态。

2023-01-17 11:11:30 78

原创 Arduion上位机

【代码】Arduion上位机。

2023-01-03 22:22:19 182 1

原创 CC2530上位机

上位机可实现温度湿度的采集,风扇照明的控制,数据可通过mysql数据库或文本文件保存,实现了温湿度数据可视化显示,增加了数据库登录模块。这个项目是3月份完成的,一直没时间完善,下一步我会增加更多功能并实现小程序端。下位机采用了DHT11 OLED 电机 继电器 CC2530开发板等材料。上下位机通过串口通信。

2022-12-31 15:57:47 364

原创 Qt无人机姿态模拟

3、普通用户只能查看实时数据、自动给出实时建议,超级用户可以查看实时数据、历史数据、统计数据判断是否危险飞行、生成事故报告。4、创建数据库,保存两张表,表1判断云端用户级别及用户登录验证,表2记录一定时间内的飞机姿态数据。2、根据用户登录信息的不同,选择不同的云端用户级别,具体为user和vip。2、可以使用模拟终端(滑动按钮)来改变机身角度的值。1、可以根据用户级别的不同授权不同的内容查看。4、可以实时改变验证平台上图形的状态。

2022-10-24 11:57:53 1861 4

原创 Qt分组神器

这个就是一个分组神器,可以根据输入的总人数 ,以及想设定的每组人数,把这些人随机分成小组,很适合班级分组使用。主要就是这样的逻辑,核心就是把生成数组下标随机数,交换数组内容,很简单,适合入门看看。

2022-09-27 16:22:35 354

原创 Qt Tcp网络聊天室

基于客户端和服务器的架构,创建一个QTcpSocket的链表,其中每一个节点保存每个客户端的指针。这个客户端可以设置字体的样式,保存聊天记录,清空窗口,换肤等功能。源码(vx):zrccode。

2022-09-26 10:00:56 796 1

原创 Qt MinGW opencv环境配置测试

以前下载过VS所以当时就用的msvc的编译器,现在下的编译器是MinGw所以找了很多办法终于算是成功了。这个是我电脑安装位置,记得一定修改成自己的位置。这个时候关机重启一下系统。然后Ctrl+S保存。

2022-09-10 11:02:42 789

原创 python基于io流的tkinter管理系统

python 基于io流tkiner管理系统

2022-06-15 08:26:35 215 1

原创 stm32PWM

stm32

2022-06-02 15:29:41 198 1

原创 CC2530射频通信

今天这个实验也是学校做,我就看了一下网上的视频然后改了一点代码,就是发送板A上按键中断实现点亮接收板B上D1D2小灯。现象如下:这个距离还是挺远的发送模块的代码:#include<ioCC2530.h>#define SENDVAL 5char SendPacket[]={0x0c,0x61,0x88,0x00,0x07,0x20,0xEF,0xBE,0x20,0x50,SENDVAL};//第一个字节0x0C含义,这个自己后面还有12个字节要发送//第5 6个字节表示

2022-05-31 19:14:33 709

原创 qt stm32串口示例以及led上位机

今天研究了半天终于把stm32的串口能搞出来了,然后顺便写了一个qt的上位机来控制小灯效果就是如下:qt上位机:说难吧也不难,就是探索的过程费时间很费力气,但同时锻炼了解决问题的能力,很多人的博客都是基于他们会的基础上写的,所以很多东西你可能入门的话看不懂,学习就是这样,入门很难,我拿到板子当时都不知道咋样串口通信,咋样把代码写进去。这其中的快乐酸楚只有体会过才懂usart.h:#ifndef __USART_H#define __USART_H#include "stm32f10x.h

2022-05-29 20:51:11 1214 43

原创 zstack模拟任务调度

这个是善学坊的代码,官网也有,不得不说人家的代码小巧玲珑,真是像诗一样#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <stdint.h>#include <ioCC2530.h>#define LED P1_1#define LED_ON 1#define LED_OFF 0#de

2022-05-27 15:51:25 128

原创 stm32定时器

第一个现象使oled上面显示数字计数:.h:#ifndef __TIMER_H#define __TIMER_Hvoid Timer_Init(void);#endif.c:#include "stm32f10x.h" // Device headerextern uint16_t Num;void Timer_Init(void){ //rCC RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,E

2022-05-22 20:32:16 142

原创 CC2530步进电机

.h:#include <ioCC2530.h>typedef unsigned char uchar;typedef unsigned int uint;#define A1 P0_4 //定义步进电机连接端口#define B1 P0_5#define C1 P0_6#define D1 P0_7//改变这个参数可以调整电机转速,数字越小,转速越快,力矩越小uchar ucSpeed = 2; //调整速度 建议在1-10范围内uchar FFW[.

2022-05-22 13:40:41 518 1

原创 stm32外部中断一

通过遮挡循迹传感器触发中断实现定义的数值+1,返回给oled显示.h文件:#ifndef __COUNT_SENSOR_H#define __COUNT_SENSOR_Hvoid CountSensor_Init(void);uint16_t CountSensor_Get(void);#endif.c文件:#include "stm32f10x.h" // Device headeruint16_t CountSensor_Count;

2022-05-22 12:42:27 395

原创 oled cc2530

oled的驱动:字库(codetab.h):/***************************16*16的点阵字体取模方式:共阴--列行式--逆向输出*********/unsigned char F16x16[] = { 0x00,0x3E,0x22,0xE2,0x22,0x3E,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0xE2,0x02,0x00,0x20,0x3F,0x20,0x1F,0x11,0x11,0x00,0x7F,0x44,0x44,0x

2022-05-13 20:08:16 402

原创 CC2530繼電器

#include <iocc2530.h>typedef unsigned char uchar;typedef unsigned int uint;#define DATA_PIN P0_5void DelayMS(uint msec){ uint i,j; for(i=0;i<msec;i++) for(j=0;j<535;j++);}void main(void){ P0DIR |= 0x20; while(1) { DAT

2022-05-01 23:07:55 363

原创 stm32 oled

main.c:#include "stm32f10x.h" // Device header#include "Delay.h"#include "OLED.h"int main(void){ OLED_Init(); OLED_ShowString(2, 3,"Rui Chen"); OLED_ShowString(1, 3, "I Love You"); while (1) { }}OLED.h:#ifndef __O..

2022-04-29 21:56:14 111

原创 stm32按鍵控制舵機

pwm.h:#ifndef __PWM_H#define __PWM_H#include "stm32f10x.h"void TIM3_PWM_Init(u16 arr , u16 psc);#endifpwm.c:#include "pwm.h"//TIM4 PWM初始化void TIM3_PWM_Init(u16 arr , u16 psc){ GPIO_InitTypeDef GPIO_InitTypestrue; TIM_Tim..

2022-04-23 19:28:43 1593

原创 CC2530中断唤醒

程序本来都写好了,花了将近一个多小时才找到一个小错误,我都想扇我一巴掌#include "iocc2530.h"#define RLED P1_0#define YLED P1_1#define uint unsigned int#define uchar unsigned char#define DELAY 15000void Delay(void);void Init_IO_AND_LED(void);void SysPowerMode(uchar mode);void Dela

2022-04-22 18:24:29 370

原创 CC2530睡眠定时器

把代码写成诗歌吧#include "iocc2530.h"#define led1 P1_0#define led2 P1_1#define uint unsigned int#define uchar unsigned char#define uint32 unsigned long#define CRYSTAL 0#define RC 1char LEDBLINK;void Set_ST_Period(uint sec);void Init_SLEEP_TIMER(void

2022-04-21 21:00:54 700

原创 stm32(声音传感器控制LED)

BLED.h:#ifndef __BLED_H#define __BLED_Hvoid BLED_Init(void);void BLED1_ON(void);void BLED1_OFF(void);void BLED1_Turn(void);#endifBLED.c:#include "stm32f10x.h" // Device header//led初始化void BLED_Init(void){ RCC_APB2...

2022-04-21 15:03:49 4741 19

原创 stm32 按键控制led

刚差点被一个四脚开关弄晕了,才发现是自己stm的板子跟面包板弄得不牢固,我都吐了,浪费我半个小时工程结构:LED.h:#ifndef __LED_H#define __LED_Hvoid LED_Init(void);void LED1_ON(void);void LED1_OFF(void);void LED2_ON(void);void LED2_OFF(void);void LED1_Turn(void);void LED2_Turn(void);#endif.

2022-04-21 13:35:02 2457 1

原创 stm32蜂鸣器

#include "stm32f10x.h" // Device header#include "Delay.h"int main(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructu

2022-04-20 19:06:29 740

原创 CC2530片内温度采集(串口发送)

头文件:#include "iocc2530.h"#define uint unsigned int#define RLED P1_0#define GLED P1_1#define YLED P0_4// Datatypedef unsigned char BYTE;// Signed numberstypedef unsigned char UINT8;typedef unsigned char INT8U;typedef unsigned short UINT

2022-04-20 14:09:59 1825

原创 stm32点亮led

在此感谢江科大自化协提供的教程以及资料,作为一个入门小白觉得老师讲的十分好,这是今天的实验1#include "stm32f10x.h" // Device header#include "Delay.h"int main(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure

2022-04-19 21:54:42 301 2

原创 CC2530串口(QT控制led)

#include <iocc2530.h>char ch;//晶振配置void Cfg32M(){ SLEEPCMD &=0xFB; while(0==(SLEEPSTA & 0x40)); CLKCONCMD &=0xF8; CLKCONCMD &=0xBF; while(1==(CLKCONSTA & 0x40)); SLEEPCMD |=0x40;}void UartCfg(){ //1111 1110.

2022-04-19 15:02:04 330

原创 CC2530定时器1 定时器3使led不同频率闪烁

#include <iocc2530.h>#define led1 P1_0#define led2 P1_1#define uint unsigned intuint count1=0;uint count2=0;void init_T1(){ CLKCONCMD &=~0x7F; while(CLKCONCMD & 0x40); EA=1; T1IE=1; T1CTL=0x05; led1=0; led2=1;}void in

2022-04-18 19:23:17 983

空空如也

空空如也

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

TA关注的人

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