- 博客(27)
- 收藏
- 关注
原创 stm32cube入门4
1.中断优先级(1).优先级数值越低代表优先级越高(2).RESET,HARDFAULT和NHI优先级不可配,其他的都可以(3).没有配置中断优先级时,优先级默认为0(4).可配置中断优先级数值范围是0~255(5).多个中断同时产生时优先级高的先处理(6).多个中断同时产生且优先级相同的则中断序号小的先处理(7).低优先级中断处理可以被高优先级中断抢占2.配置...
2020-08-16 15:53:20
165
原创 Stm32cube入门2
1.按键的原理图按键按下连接的是VCC那么是上拉输入按键按下连接的是GND那么是上拉输入1.输入模式,通过检测低电平判断按键按下2.中断模式,通过检测下降沿判断按键按下3.休眠模式,通过按键按下唤醒MCU...
2020-08-11 10:50:49
229
原创 stm32cube入门1
1.新建工程选择芯片(这里用的是STM32F103ZETT6)双击设置时钟配置外部晶振是8M,STM32F103ZET6的最高主频是72M根据数据手册修改2.连接原理图3.IO口设置1.选择模式PB5同理2.设置标签名PE5同理4.配置外设1.推挽输出使我们常用的2.开漏输出是我们需要驱动能力比较大的(需要一个上拉电阻)生成代码没有安装固件包会出现如下情况...
2020-08-08 14:10:17
288
原创 Typora简单例子
下载网址https://www.typora.io/1.流程图”graph TB”指定流程图的生长方向,TB 表示 TOP->BOTTOM 由上至下。”()”表示过程,”{}”表示判断LR从左到右2.交互同上选择代码段
2020-08-07 09:37:33
703
原创 QT入门2
1.QT中文输入支持root用户yum install ibus -qtreboot2.Unicode和UTF-8作者:uuspider链接:https://www.zhihu.com/question/23374078/answer/65352538来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。举一个例子:It’s 知乎日报你看到的unicode字符集是这样的编码表:I 0049t 0074’ 0027s 00730020知 77e5乎
2020-07-28 10:55:31
255
原创 QT入门1
1.新建项目继续点Next2.设置一个开关#include "mainwindow.h"#include "ui_mainwindow.h"#include "QPushButton"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); QPushButton* btn=new QPushBut
2020-07-27 10:01:00
194
原创 mysql的封装(linux)
1.设置Properties常用APIMYSQL* mysql_real_connect(MYSQL* mysql, const char* host, const char* user, const char* passwd, const char* db, unsigned int port, const char* unix_socket, unsigned long client_flag);unix_socket是一个socket的名字,如果你已经创建好,mysql可以使用它,如果传N
2020-07-26 13:33:20
166
原创 mysql的常用语句(基本)
1.管理MySQL的命令(1).use切换数据库use <数据库名>(2).show databases列出MySQL数据库管理系统的数据库列表show databases;(3).show tablesshow tables;显示指定数据库的所有表,使用该命令前需要使用use命令来选择要操作的数据库。2.登录MySQL(1).使用命令行登陆的方法mysql -u 用户名 [-h主机名或ip地址] -p密码3.建库建表(1).创建数据库CREATE DATA
2020-07-24 17:33:13
307
原创 7.9 c++
1.removeremove(first, last, val); //删除first到last之间所有值为val的元素remove只是通过迭代器的指针向后移动来删除,将没有被删除的元素放在链表的前面,并返回一个指向新的位置的迭代器。由于remove()函数不是vector成员函数,因此不能调整vector容器的长度。(对vector来说)remove()函数并不是真正的删除,要想真正删除元素则可以使用erase()或者resize()函数。#include <iostream>#inc
2020-07-22 18:04:49
149
原创 7.7 c++
1.标准模板库STLvector(动态数组)vector中的元素在内存中是连续存储的。vector的实现是由一个动态数组构成。当空间不够的时候, 采用类似于C语言的realloc函数重新分配空间. 正是因为vector中的元素是连续存储的, 所以vector支持常数时间内完成元素的随机访问。vector支持[]和at()遍历元素,由于结构上是数组,所以头插效果很低。~vector();释放空间。实例#include<iostream>#include<vector>#i
2020-07-19 10:27:21
186
原创 7.3 c++
1.异常处理异常:c++的异常处理机制使得异常的引发和处理不必在同一函数中,这样底层的函数可以着重解决具体问题,而不必过多地考虑对异常的处理。上层调用者可以在适当的位置设计对不同类型异常的统一处理。####语法如果某段程序发现了自己不能或不想处理的异常,就可以使用throw表达抛出这个异常,将它抛给调用者。throw的操作数表示异常类型,语法上与return语句的操作数类似。如果程序中有多种要抛出的异常,应该用不同的操作数类型来互相区别。try子句后的复合语句是受保护的代码段。如果预料某段程序代码
2020-07-13 13:58:57
195
原创 7.2 c++
1.多态多态是指同样的消息被不同类型的对象接收时,导致不同的行为。所谓消息是指对对象成员函数的调用,不同的行为指不同的函数实现。比如+号运算符,可以用于多种类型数据的相加操作,同样是+号运算符,对于不同的对象,发生的行为也不同。如果不同类型的变量相加,例如浮点型和整型,则要先将整型转为浮点型,然后再进行加法运算,这就是典型的多态现象。在基类中给相关函数加virtual关键字是实现动态绑定的基础#include<iostream>#include<cstdio>using n
2020-07-12 15:26:11
176
原创 6.28 c++
1.友元函数一个类是不能访问另一个类的私成成员的。友元关系提供了不同类或对象的成员函数之间,类的成员函数与一般函数之间进行数据共享的机制。通俗的说:友元关系就是一个类主动声明哪些类或函数是它的朋友,进而给它们提供对本类的访问特许在一个类中,可以利用关键字friend将其它函数或类声明为友元。如果友元是一般函数或类的成员函数,称为友元函数;如果友元是一个类,则称为友元类,友元类的所有成员函数都自动成为友元函数。#include<iostream>#include <cmath>
2020-07-11 15:43:49
172
原创 6.21 c++
1深复制和浅复制在使用一个对象对另一个对象初始化或赋值时,复制构造函数能对对象的属性进行复制。但如果存在指针成员,则指针的值会被复制,导致两个对象的指针成员指向同一块内存,在释放的时候对象的时候,会重复释放,导致程序崩溃。若对象包含指针成员变量,则需要手动的编写拷贝构造函数实现深拷贝,调用编译器的内部默认的拷贝构造函数则只能实现浅拷贝操作。深拷贝:#include<iostream>#include<cstdio>#include<cstring>using
2020-07-09 20:56:23
164
原创 6.14 c++
1.类的实现一般有2种,一种在类定义时完成对成员函数的定义,一种是在类外进行定义。类外实现 函数类型+类名::函数名代码短就定义在类内,类内默认为inline函数(内联函数)2.类的成员如果在类的定义中既不指定private,也不指定public,则系统就默认为是私有的。被声明为私有的(private)成员,只能被本类中的成员函数引用,类外不能调用(友元类除外)。被声明为公用的(public)成员,既可以被本类中的成员函数所引用,也可以被类的作用域内的其他函数引用。用protected声明的
2020-07-08 23:39:33
248
原创 6.13 c++
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-07-08 08:03:11
110
原创 队列(关于实现)
队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。一.链表的实现(链表相关知识在之前写过)#include<stdio.h>#include<string.h>typedef struct{ int...
2020-02-29 08:24:36
200
1
原创 用链表实现栈操作
#include <stdio.h>typedef struct {int dat;struct Node * prev; //point to the previous nodestruct Node * next; //point to the next node} Node;Node * head = NULL, *tail = NULL;int len = 0;...
2020-02-28 18:31:04
131
原创 用数组模拟栈操作
#include<stdio.h>#define STACK_SIZE 10int stack[STACK_SIZE];int stacklen=0;void push(int dat){ if(stacklen==STACK_SIZE){ printf("stack is overflow\n"); return; } stack[stacklen++]=dat...
2020-02-28 17:01:39
272
原创 双向链表
双向链表双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。1.定义...
2020-02-28 15:39:02
144
原创 单链表
单链表单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。1.定义include<stdio.h> typedef struct{ char data;//结点中的数据 struct ...
2020-02-14 22:21:55
195
原创 指针
1. 指针(把地址赋给一个变量,这个变量就是指针)是一种变量,里面存储的内容是地址,指向的其他变量的地址,定义的类型可以不一样可以 (int 4个字节) (char1个字节)地址长度是一致的都是8个字节**p :二级指针,表示p所指向的地址里面存放的是一个指向类型的指针。*p:一级指针,表示p所指向的地址里面存放的是一个类型的值。(1)在函数中定义变量的时候顺序从上往下,但内存是从高到...
2020-02-12 18:21:33
155
原创 LINUX系统的常用命令(下)
LINUX系统的常用命令1. vi命令嵌入式文本编辑器vi+文件名 进入编辑器 (可相对路径或者绝对路径)不会报错,会创建一个新的文件输入i 进入编辑模式Ese 进入命令模式:进入 底行模式(在命令模式中):w filename 将编辑器的内容以指定文件filename保存:wq 存盘并保存vi:q! 不存盘强制退出viswap file遗失文件在命令行模式下x 每...
2020-01-25 22:31:37
104
原创 LINUX系统的常用命令(上)
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善这个操作系统,使其最大化地适应用户的需要。 [1] Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、
2020-01-24 16:57:23
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人