自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kelly_F的博客

Keep Reading, Keep Writing

  • 博客(19)
  • 资源 (6)
  • 收藏
  • 关注

原创 ZigBee 学习(一)基础概念

1 RFD 节点与 FFD 节点RFD:可提供全部的IEEE 802.15.4MAC 服务,可充当任何 ZigBee 设备。FFD:可提供部分的IEEE 802.15.4MAC 服务,只能充当终端节点。2 ZigBee网络中分三种设备:Coordinator、Router、EnddeviceCoordinator(协调器):它是一个 FFD 节点,负责整个网络的管理工作。...

2018-08-18 21:39:10 2167

原创 C语言调用SQLITE3数据库

1 先包含头文件#include <sqlite3.h>2 打开一个数据库int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */);举例:if(sqlite3...

2018-08-14 22:41:15 1529

原创 QT调用SQLITE数据库

1 在.pro文件中添加 sql 2 在头文件中添加 #include <QSqlQuery> 3 在需要调用数据库的窗口的构造函数中打开数据库注意:数据库要在你的项目创建文件夹中,或者在函数中添加绝对路径QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabase...

2018-08-10 16:45:24 2365

原创 QT杂记(三)员工管理系统

这两天在用QT做一个员工管理系统,里面牵涉到不少之前没细想过的问题,记录下来以便以后查阅先把需要放出来:(一)两个没有关系的窗口间怎么传递信息一开始是做客户端的,遇到的第一个问题是,作为普通用户,登陆之后跳转到用户界面,这时候怎么发送信息给服务器端,让服务器端知道自己是谁?(即当前用户名)而管理员可以查看所有用户信息,因此不需考虑这一点。网上大多数的窗口间通信都是三种,父子窗口...

2018-08-10 16:25:01 3150 2

原创 QT中tcp登陆模块客户端代码框架及流程

首先要在.pro文件中添加 networkQT += core gui network在头文件中添加#include <QTcpSocket>#include <QtWidgets>#include <QMessageBox>#include <mainwindow.h>创建一个基础的图形界面既然是一个登...

2018-08-07 21:48:17 2095 1

原创 如何在Qt上做一个简单的tcp客户端

#include "dialog.h"#include "ui_dialog.h"Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog){ ui->setupUi(this); connect(&tcpSocket, SIGNAL(connected()), ...

2018-08-06 22:12:26 823

原创 QT杂记(二)

1 设置窗口标题在部件构造函数直接调用 setWindowTitle() 函数。2 设置窗口背景颜色QPalette pal(this->palette());palette.setColor(QPalette::Background, Qt::blue);this->setPalette(palette); ...

2018-08-05 22:13:37 136

原创 QT杂记(一)

Button类1 PushButton------------------------点击按键2 ToolButton--------------------------------和pushbutton类似,也是按键,但是比较适合用来做自定义外观的特色按键,常用于工具栏3 RadioButton ----------------------------------------...

2018-08-04 22:23:12 192

原创 字符设备驱动初始化和销毁部分

每个字符设备的驱动都要包含对这个字符设备的初始化,而这个初始化其实是一个非常固定的步骤,接着我们就来看看这个初始化怎么写。1 申请注册一个设备(char 字符设备)static inline int register_chrdev(unsigned int major, const char *name, const struct file_operations *fops)...

2018-08-03 22:03:47 425

原创 一步一步教你构建一个MPU6050(I2C类)驱动(三)

首先我们要控制MPU6050,实质上就是读写它里面寄存器的值。i2c的数据通信帧的组成在前面已经讲过了这里就不在展开,我们先来看看内核中已经帮我们封装好的,构建一个数据帧的API:/** * i2c_master_send - issue a single I2C message in master transmit mode * @client: Handle to slave dev...

2018-08-02 22:38:43 1420

原创 一步一步教你构建一个MPU6050(I2C类)驱动(二)

今天我们先来把驱动的框架搭好首先是i2c_driver的数据结构struct i2c_driver { unsigned int class; /* Notifies the driver that a new bus has appeared. You should avoid * using this, it will be removed in a near future...

2018-08-01 22:25:46 1305

原创 怎么写一个i2c设备的设备树

在上一次的博客中我们在设备树文件中写入了Mpu6050的设备信息,那么这个设备是信息是怎样来的呢,现在先来补充一下怎样从数据手册得到我们需要的数据。首先看看内核源码中已经写好的别的i2c设备树是怎么写,了解我们需要找的数据: i2c@13860000 { #address-cells = <1>; #size-cells = &...

2018-08-01 21:46:20 6358

原创 i2c驱动注册与匹配设备的源码追踪与分析

先是我们都熟悉的一条语句int i2c_register_driver(struct module *owner, struct i2c_driver *driver);进入到 i2c-core.h 文件中得到 i2c_register_driver 函数的完整内容int i2c_register_driver(struct module *owner, struct i2c_dr...

2018-07-31 21:36:24 277

原创 关于i2c驱动配对时匹配的数据结构源码追踪

先来看看i2c驱动的数据结构struct i2c_driver { unsigned int class; /* Notifies the driver that a new bus has appeared. You should avoid * using this, it will be removed in a near future. */ int (*attach...

2018-07-30 21:26:52 304

原创 一步一步教你构建一个MPU6050(I2C类)驱动(一)

1 i2c基本协议和时序i2c基础的知识这里就不提了,直接从时序开始,直接来看看i2c的波形2 i2c子系统软件框架先来看看i2c总线的分层思想:在分层图中我们可以看到,driver和device在核心层中分别成为了2条链表,核心层会按一定的规则匹配两条链表中的元素。查看内核源码 i2c-core.c ,找到了匹配的函数如下:static int i2c_de...

2018-07-29 22:32:22 2893

原创 构建一个简单的bus驱动框架

首先我们要了解bus驱动框架是由三部分组成的:Device(硬件相关),Bus(中间媒介),Driver(软件)为了实现高内聚,低耦合,解决重复代码过多,对整个驱动进行了分层。硬件相关的部分被抽象成Device部分,纯软件部分抽象成Driver部分,为了将这两部分匹配起来就创建了bus这一中间媒介。接下来搭建一个基础的框架(一)Bus的构建1 先来看看bus中的bus_type...

2018-07-28 22:33:26 613

原创 C++中父类和子类的赋值兼容原则

1.子类对象可以直接赋值给父类对象2.子类对象可以当做父类对象使用3.子类对象可以直接初始化父类对象4.父类指针可以直接指向子类对象5.父类引用可以直接引用子类对象 以下是每一点的代码验证1     子类对象可以直接赋值给父类对象#include<iostream>using namespace std;class Parent{privat...

2018-07-27 13:12:13 2964

原创 C++ 释放指向类的void类型指针造成内存泄漏

先来看一段代码#include <iostream>using namespace std;class A{public: A(){ cout << "A() ...." << endl; } ~A() { cout << "~A()...." << endl; } void func() {

2018-07-26 15:16:09 756

原创 关于const与static修饰的变量的区别

static:修饰的变量为静态变量,只会被初始化一次,该变量存储在内存中的静态区,地址不会改变。修饰全局变量时,每个函数对其的调用都是调用其生成的副本,修饰局部变量时每次调用都是上一次调用后的值。const:修饰的变量只会被定义(可能也只能在定义的时候赋值)一次,定义之后无法对其进行赋值或修改(即不能充当左值)。static和const修饰量的最大区别就是:static的值能修改,const不能(...

2018-03-19 00:13:34 625

dnw,适用于tiny4412

针对tiny4412设备改写过驱动,适用于友善之臂tiny4412

2019-03-17

C语言编写的员工管理系统

附带服务器端和客户端的代码框架图和逻辑流程图,基本功能完善

2018-08-14

基于TCP通信的员工管理系统(客户端,服务器端)

服务器端是并发框架,有管理管理员账号模块,接受信息模块,处理信息模块;客户端实现了管理员,普通用户登录,管理查询用户信息模块,管理员修改用户信息模块,管理员添加新用户模块,管理员删除用户模块,普通用户查询信息模块,普通用户修改自己密码模块

2018-08-10

基于TCP的在线词典客户端与服务器端

用QT编写的tcp通信的在线词典,客户端有注册登录模块,查找模块,历史记录模块;服务器端有注册登录(基于数据库查询和插入)模块,单词库搜索模块,还做了应对多用户同时访问的并发处理框架

2018-08-08

在线词典(QT) 基于tcp通信的客户端和服务器端源码

基于QT,包含客户端登陆注册模块,词典查找,历史信息记录查阅模块,服务器端处理信息并返回数据给客户端

2018-08-08

一个简单的QT tcp客户端和服务器端的相互通信

用QT写了的一个简单的服务器端和客户端。有基本的图形界面,可以实现相互数据通信

2018-08-06

空空如也

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

TA关注的人

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