自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TIM定时器

高级定时器TIM1TIM8APB2拥有通用定时器全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能通用定时器TIM2TIM3TIM4TIM5APB1拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能基本定时器TIM6TIM7APB1拥有定时中断、主模式触发DAC的功能一个芯片一般会有很多个定时器,所以后面会有编号进行区分;

2024-02-18 09:46:27 607

原创 串口通信USART

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器;USART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里自带波特率发生器,最高达4.5Mbits/s可配置数据位长度(8/9)、停止位长度(0.5/1/1.5/2)可选校验位(无校验/奇校验/偶校验)

2024-01-15 10:43:41 867

转载 G-Sensor相关

G-sensor(Gravity sensor),重力传感器,又名加速度传感器(accelerometer),是能感知加速度大小的MEMS传感器。

2023-12-11 11:48:43 131

原创 STM32-EXTI中断

EXTI(Extern Interrupt)外部中断EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序支持的触发方式:上升沿/下降沿/双边沿/软件触发(程序执行代码指令)支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒。

2023-11-09 17:43:19 883

原创 STM32中断简介

68个可屏蔽中断通道,包含EXTI、TIM、ADC、USART、SPI、I2C、RTC等多个外设;具体型号可能没有这么多,还是要参考手册为准;使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级;灰色的部分是系统内核的中断,在实际的项目中会经常要用到的,引入系统之后,比如FreeRTOS就需要配置这些中断,用来处理系统运行中出现的错误;其他的是一些外设中断;中断向量表,中断发生后硬件电路能控制跳转到固定地址。

2023-11-09 16:39:36 121

原创 GPIO基本原理

GPIO在输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等;GPIO在输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等(最常见的读取按键);

2023-10-17 14:08:20 719

原创 STM32F1简介

本次学习使用的是STM32F1系列的芯片,72MHz的Cortex-M3内核;红色是电源相关的引脚,蓝色的是最小系统相关的引脚,绿色的是IO口、功能口等;S代表电源、I代表输入、O代表输出、I/O代表输入输出;主功能是上电后的默认功能,一般和引脚名称相同;默认服用功能是IO上同时连接的外设引脚功能,可以在配置IO的时候选择使用通用IO口还是复用功能;重定义功能,如果两个功能同时复用到了一个端口上,这两个功能你都想要用,可以把其中一个的 复用功能 重新映射到其他端口上;

2023-10-16 22:23:59 265

原创 STM32学习笔记

今天开始学习STM32,公司封闭git网络,所以选择CSDN来同步学习进度,方便公司和家里都能更新学习笔记。

2023-10-16 09:56:06 211

原创 Android编程权威指南学习笔记(二)

## Android编程权威指南学习笔记(二)1. Android与MVC设计模式Android应用基于模型-控制器-视图(Model-View-Controller, MVC)的架构模式进行设计* 模型对象存储着应用的数据和业务逻辑。* 视图对象知道如何在屏幕上绘制自己以及如何响应用户的输入,如用户的触摸等。* 控制对象含有应用的逻辑单元,是视图与模型对象的联系纽带。...

2019-06-17 10:28:36 163

原创 Android权威指南学习笔记(一)

## Android权威指南学习笔记(一)1. activity类需要以以activity作为后缀2. 包名它的反转遵守了“DNS”约定,比如```android.gzd.com```,包名会是反过来的```com.gzd.android```,最后在尾部附上应用名称,名称无论大小写都是小写。3. 正常开发时,我们在设计xml时会先设计一个视图层次结构,每一个视图都有一个根结构,作为根...

2019-06-17 10:27:45 222

原创 go学习指南资料整理

web入门:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.mdgin微框架与入门项目:https://github.com/EDDYCJY/blog?tdsourcetag=s_pctim_aiomsg好用的orm:http://gorm.book.jasperxu.c...

2019-05-23 22:56:57 198

原创 C++面试基础知识——C/C++篇(二)

STL容器总结1.vectorvector的元素排列和操作方式与array很相似,不同的是vector是动态空间,能够随着元素的添加自动扩展空间。它的实现关键在于对大小的控制以及重新配置空间时移动元素的效率。vector的iterator定义是value_type*,也就是普通的指针。因为vector维护的空间是一个连续线性空间,所以普通的指针就能满足vector迭代器的所有需求...

2019-02-25 16:17:26 275

原创 C++面试基础知识——C/C++篇(一)

C++成员变量初始化顺序1、成员变量在使用初始化列表初始化时,与构造函数中初始化成员列表的顺序无关,只与定义成员变量的顺序有关。因为成员变量的初始化次序是根据变量在内存中次序有关,而内存中的排列顺序早在编译期就根据变量的定义次序决定了。2、如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关,即按着顺序执行初始化语句。 3、注意:类成员在定义时,是不能初始...

2019-01-20 14:25:00 282

原创 C++面试基础知识——计算机网络(三)

当你输入域名访问一个网站的时候,背后的过程是什么?比如我们访问www.baidu.com这个域名第一步:域名解析浏览器先尝试从Host文件中获取http://www.baidu.com/对应的IP地址,如果能取到就返回ip地址,如果不能,就向本地DNS求助。DNS拿到请求之后,先检查一下自己的缓存中有没有这个地址,有的话就直接返回。没有的话,DNS会从配置文件里面读取13个根域名服...

2019-01-08 15:44:01 256

转载 C++面试基础知识——计算机网络(二)

滑动窗口协议滑动窗口是接受数据端使用的窗口大小,用来告知发送端接收端的缓存大小,以此可以控制发送端发送数据的大小,从而达到流量控制的目的。所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;2. “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。在引入一个例子来说这个协议之前...

2019-01-08 14:21:28 182

原创 C++面试基础知识——计算机网络(一)

 计算机网络分为哪几层?OSI模型的话,分为七层,从上到下分别是:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层TCP/IP,分为四层:应用层、传输层、网络层、链路层TCP/IP每一层的功能:应用层:这一层负责具体的应用,比如HTTP访问、FTP文件传输、SMTP/POP3邮件处理等等。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:远程登录(Teln...

2019-01-05 22:09:01 621 2

原创 C++面试基础知识——操作系统篇(一)

目录  - 进程和线程的区别?-进程和线程的优缺点? - 进程和线程的区别?根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小...

2018-12-17 22:29:51 983

原创 进程之间的通信——管道通信

无名管道  创建:int p[2];pipe(p);p(0)代表读端:即从管道中读取内容p(1)代表写端:即写入内容至管道中      以阻塞方式读写无名管道的几种情况:         读操作:char buf[128]: //存放读出的数据int ret = -1: //保存读函数的返回值ret = read(p[0],...

2018-10-26 18:05:33 242

原创 守候进程应用示例

守候进程:在后台运行的一种特殊进程,脱离终端,这样可以避免进程被任何终端所产生的信号打断,在执行过程中的任何信息也不会在任何终端上显示 守候进程编程要点:1.屏蔽一些有关终端的操作的信号for(int i; i <= 31; i++) signal(SIGTTOU,SIG_IGN);为什么会有一个for循环我没看懂...2.在后台运行if(pid = fo...

2018-10-25 20:25:00 266

转载 int main(int argc,char* argv[])详解

   argc是命令行总的参数个数     argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数     命令行后面跟的用户输入的参数,比如:  int main(int argc,char* argv[])  {     int i;     for(i = 0;i < argc;i++)      cout<<argv[i]<<...

2018-10-23 20:11:02 228

原创 Linux获取本机MAC地址

  #include <stdio.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <net/if.h>

2018-10-23 19:59:27 7267 1

原创 Linux 一些头文件的说明

#include <unistd.h> 的作用由字面意思,unistd.h是unix std的意思,是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数。 unistd.h在unix中类似于window中的windows.h!#ifdef WIN32#include &lt...

2018-10-22 20:17:08 293

原创 两种最短路

//基于迪杰斯特拉算法和弗洛伊德算法的最短路#include<iostream>#include<cstdio>#include<algorithm>#include<vector>#include<cstring> const int inf = 0x3f3f3f3f;int G[1000][1000];bool ...

2018-10-14 20:31:20 231

转载 auto关键字

1.auto关键字auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型,类似的关键字还有decltype。举个例子: int a = 10; auto au_a = a;//自动类型推断,au_a为int类型 cout << typeid(au_a).name() << endl;typeid运算符可以输出变量的类型...

2018-10-13 19:09:46 239

原创 HTML/CSS学习

样式表style   <style type="text/css">      body {        background-color: #d2b48c;//网页背景颜色        margin-left: 20%;//样式表部分左边距        margin-right: 20%;//右边距        border: 1px dotted black;...

2018-09-16 23:56:34 166

原创 Qt登录注册界面连接数据库实现

ui界面通过ui编辑器编写: login.cpp#include "farm_login.h"#include "ui_farm_login.h"#include <QLineEdit>#include <QMessageBox>#include <QtSql>//登录界面farm_login::farm_login(QWid...

2018-08-02 17:13:03 26198 20

原创 QT连接MySQL

现在pro文件中加   QT += sql widgets 如果在连接的过程中出现QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7这种错误,原因是文件缺失;解决方法可以参考:关于wind...

2018-08-01 17:25:37 602

转载 关于windows下Qt报告“QMYSQL driver not loaded”的解决办法

原贴地址:https://blog.csdn.net/gufengys/article/details/61430419 先说明一句,博主这个帖子的解决办法是用MariaDB试验的,其实跟mysql是一回事,所以帖子里都说的是mysql如何如何,请大家理解。首先,出现这个问题有三种可能:1.qt找不到你的mysql的驱动。      先去你的Qt的安装目录(例:D:\Qt\Qt5...

2018-08-01 17:23:50 5152 6

原创 Qt实现两个窗口类的相互调用

两个类A和B实现互相调用彼此的方法,如果采用彼此包含对方头文件的方式会出现循环引用,所以采用了类的前置声明的方式1,class A采用前置声明的方式声明class B2,在ClassB的头文件中包含class A 的头文件3,在class A中只能声明class B类型的指针或者引用 //A.hclass B;class A{B *b;}//B.h#i...

2018-08-01 15:54:18 7674 2

原创 Qt前端开发之标签的使用

QlineEdit标签:         设置背景文字提示:         用setPlaceholderText()来改变背景文字 ui->lineEdit->setPlaceholderText("需要提示的文字");         效果预览:  QpushButton标签:        设置按钮透明化:         ui编辑界...

2018-07-29 20:45:56 1092

原创 QT QPushButton点击事件的实现及关闭窗口命令

最近需要对按钮实现效果:当鼠标按下时按钮有效果1,然后鼠标松开时按钮有效果2。分析:这里没有现成的信号可以使用,需要重载mousePressEvent 及 mouseReleaseEvent 事件函数,在mouseReleaseEvent 函数中检查鼠标是否在按钮中,若是,则发送点击事件。以下为版本一实现:void testbutton::mousePressEvent(QMouseEvent *...

2018-06-24 17:47:07 16076 1

原创 QT界面的美化

1、隐藏窗口的标题栏(包括最小化、最大化、关闭按钮)只需要在构造函数中添加   setWindowFlags(Qt::FramelessWindowHint);  函数即可2、给按钮添加背景图片ui->pushButton->setStyleSheet("border-image:url(me.png)");3、给界面添加背景图片this->setObject...

2018-06-24 14:16:14 4235

原创 Qt中正确的设置窗体的背景图片的几种方式

模态与非模态对话框:    模态:未关闭之前不能用同应用的其他窗口交互(应该是不能再打开其他窗口),比如新建项目时的窗口     非模态:可以与它交互也可以与同程序的其他窗口交互使一个对话框成为模态对话框:调用它的exec()函数;如:QDialog dialog(this);          dialog.exec();  或:QDialog *dialog = new QDialog(thi...

2018-06-24 13:27:28 1830

原创 kd-tree详解

kd-tree适用的范围:        二维平面最近点对之间的操作,动态维护、询问、查询等。包括曼哈顿距离和欧几里德距离。曼哈顿距离和欧几里德距离:1.曼哈顿距离曼哈顿距离又称Manhattan distance,还见到过更加形象的,叫出租车距离的。具体贴一张图,应该就能明白。上图摘自维基百科,红蓝黄皆为曼哈顿距离,绿色为欧式距离。2.欧式距离欧式距离又称欧几里得距离或欧几里得度量(Euclid...

2018-06-01 01:04:30 1179

原创 2016 ICPC 北京

Given a string which consists of five digits('0'-'9'), like "02943", you should change "12345" into it by as few as possible operations. There are 3 kinds of operations:1. Swap two adjacent digits.2. ...

2018-05-10 13:17:42 371

原创 CF #367 D. Vasiliy's Multiset

D. Vasiliy's Multisettime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAuthor has gone out of the stories about Vasiliy, so here is just a formal ta...

2018-04-25 14:36:55 191

原创 2015icpc北京 I. Snake Carpet

Problem I. Snake CarpetDescription :    In school of EECS of Peking University, there is a homework for all freshman -- the contest of AI snakes. This contest is ended today. Bacchus has got a very go...

2018-04-25 12:13:20 228

原创 浅谈二分问题

二分主要应用于一段区间求满足题意的单点(或单个状态)问题区间一般呈现的是线性的关系因此可以对区间每次分成两个部分,每次分割后进行一次判定,直到找到符合条件的点思路的大致代码#include<bits/stdc++.h>using namespace std;int main(){ int l = 0 ,r = R ,ans = 0; while(l <...

2018-04-25 09:19:21 1061

原创 C. Block Towers(二分)

C. Block Towerstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputStudents in a class are making towers of blocks. Each student makes a (non-zero) to...

2018-04-25 09:03:37 340

原创 2015icpc北京 A.Xiongnu's Land

Wei Qing(died 106 BC) was a military general of the Western Han dynasty whose campaignsagainst the Xiongnu earned him great acclaim. He was a relative of Emperor Wubecause he was the younger half-brot...

2018-04-25 00:47:37 357

空空如也

空空如也

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

TA关注的人

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