自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux

操作系统Ubuntu16.04软件源选择中科大的源或许其他国内源1、备份原来的源sudo cp /etc/apt/sources.list /etc/apt/sources_init.list2、更换源sudo gedit /etc/apt/sources.list3、将文件内容替换成国内源的地址deb http://debian.ustc.edu.cn/u...

2019-11-17 22:25:40 273

原创 Linux常用命令

文件操作指令1、创建文件命令 touch2、文件及目录删除命令 rm3、重命名 mv4、修改权限命令 chmod5、修改文件归属者目录操作指令1、创建文件夹 mkdir2、文件夹删除命令 rmdir3 文件复制命令 cp2、文件/文件夹 移动 ...

2019-11-17 14:27:59 172

原创 STM32之USART篇

//file :USART.h#include "stm32f10x.h"#include "stdio.h"/* USART基本操作步骤: 1、串口时钟使能,GPIO时钟使能 2、GPIO模式设置 3、串口参数初始化 4、使能串口 5、开启中断并且初始化NVIC 6、编写中断处理函数*///int fputc(int ch, FILE *f) //如果需要对pri...

2018-11-15 13:11:39 466

原创 STM32之EXTI篇

//file:exti.h#include "stm32f10x.h"#include "delay.h"/* 基本步骤: 1、初始化I/O端口为输入,开启时钟 2、开启端口复用时钟,设置I/O端口与中断线的映射关系 3、配置相对的EXTI,初始化EXTI设置 4、配置中断分组NVIC,使能 5、中断服务函数编写 详细参考下面三个函数*/void NVIC_Co...

2018-11-15 13:04:41 570

原创 STM32之GPIO篇

//file :GPIO.h#include"stm32f10x.h"#include"misc.h" /* GPIO使用基本步骤 1、开启相对应的GPIO时钟 2、配置引脚模式 3、初始化相对应的引脚 4、通过库函数操作引脚*/void Gpio_Output_Set(void); //输出void Gpio_Input_Set(void); //...

2018-11-15 13:00:19 333

原创 C语言到C++ 对象和类的进一步学习2

1.浅拷贝#define _CRT_SECURE_NO_WARNINGS#include <iostream>using namespace std;class Name{public: Name(const char *myp) { len = strlen(myp); p = (char*)malloc(len + 1); strcpy(p,m...

2018-08-05 19:43:24 143

原创 C语言到C++ 对象和类的进一步学习1

1.对象生命周期#include <iostream>using namespace std;class Test{public: Test() //构造函数 无返回值 { cout << "构造函数 对象创建" << endl; } ~Test() //析构函数 无参数 无返回值 { cout << ...

2018-08-05 19:38:22 191

原创 C语言到C++ 面向过程到面向对象的转变

案例1 #include <iostream>using namespace std;class Cube{private: int m_a; int m_b; int m_c; int m_v; int m_s;public: void setA(int a) { m_a = a; } void setB(int b) { m_b...

2018-08-05 12:28:43 908

原创 C语言到C++ 类的基础学习

类的分装#include <iostream>using namespace std;//封装,把属性和方法进行封装,对属性和方法进行访问控制//类的内部和类的外部//class 关键字是结构体struct关键字的加强class MyCircle{//public修饰的成员变量和函数,可以在类的内部和类的外部访问public: double m_r; //...

2018-08-05 12:19:30 469

原创 C语言到C++ 基础2

指针的引用 #include <iostream>using namespace std;struct Teacher{ char name[64]; int age;};//二级指针的用法int getTeachar(Teacher **p){ Teacher *tmp = NULL; if (p == NULL) return -1;...

2018-08-03 22:36:26 140

原创 C语言到C++ 基础1

从C语言到C++ 基础及引用#include "iostream" //包含c++头文件using namespace std; //使用命名空间 std标准的命名空间void main01(){ //cout 标准输出 黑屏幕 cout << "hello...." << endl; system("pause");}//求圆的面积 ...

2018-07-26 22:53:58 142

原创 java之类、对象的创建

如何使用类--> 创建对象-->  格式:类名 对象名 = new 类名()如何使用成员对象呢--> 格式:对象名.变量名如何使用成员方法呢--> 格式:对象名.方法名(....)//Student s1 = s;//两个对象可以互相赋值,两个引用指向同一个堆内存,类似C语言的指针/* 事物; 属性 事物的信息描述 行为 事物的功能 类 成员变量 事物的属性...

2018-05-23 23:21:37 170

原创 java之面向对象思想、类与对象的概述

1:面向对象思想: 面向对象是基于面向过程的编程思想 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能2:面向对象的思想特点: A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成指挥者 万事万物皆对象3:把大象装进冰箱案列分析 面向过程: A:打开冰箱门 B:把大象装进冰箱 C:关闭冰箱门 面向对象: 我们怎么才能更符...

2018-05-23 23:16:48 309

原创 java之参数传递问题

同C语言中的函数参数类似。一般的形式参数不能改变实际参数的数值数组名作为形式参数可以改变实际参数的数值,可以将java中的数组名和C语言中的指针相对比,更好的学习class CanShu{ public static void main(String[] args){ int a = 10; int b = 20; System.out.println("a:"+a);...

2018-05-23 20:59:33 186

原创 Java之二维数组

数据类型[][] 数组名 = new 数据类型[m][]; m:表达这个二维数组有多少个一维数组列表没有给出,可以动态给,这一次是一个变化的列数数组更类似于C语言中的指针,二维数组就是声明了一个指针数组,指针数组可以指向不同长度大小的内存地址/* 二维数组: 元素为一维数组的一个数组 格式1(动态): 数据类型[][] 数组名 = new 数据类型[m][n]; m个n元素的一...

2018-05-23 20:54:29 238

原创 Java之数组

 java 划分了5个内存空间:  A、栈:存放局部变量 B、堆:存放所有new出来的东西 C、方法区:面向对象部分详细讲解 D、本地方法区:和操作系统相关 E、寄存器:CPU使用System.out.println(b[0]);/* 数组: 格式A: 数据类型[] 数组名 格式B: 数据类型 数组名[] 举例: A:int[] a; 定义一个int类型的数组a变量...

2018-05-22 22:25:58 117

原创 Java之方法

如C语言中的函数在java中被称为方法见名知意很重要 方法重载: 方法功能相同,参数列表不同的情况,为了见名知意, java允许它们取同样的名字 在同一个类中,方法名相同,参数列表不同,与返回值类型无关 参数列表不同: A:参数个数不同 B:  参数类型不同 方法重载特点: 与返回值无关,只看方法名和参数列表 调用时,虚拟机通过参数列表的不同来...

2018-05-22 22:20:17 147

原创 Java之控制语句

在顺序结构、选择结构、循环结构、跳转控制语句上 java和c语言在使用上基本是差不多的/* 分类: 顺序结构 选择结构 if语句 (使用方式与c语言相同) switch语句 格式: switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2;...

2018-05-21 21:06:46 358

原创 java实现键盘录入

/* 如何实现键盘数据的录入 A:导包 格式: import java.util.Scanner; 位置: 在class上面 B: 创建键盘录入对象 格式: Scanner sc = new Scanner(System.in); C: 通过对象获取数据 格式: int x = sc.nextInt(); */ im...

2018-05-21 14:31:08 929

原创 java学习之运算符

/* 基本运算符基本和C语言相同 + 的用法: A:加法 B: 正号 C:字符串连接符 赋值运算符: 基本的赋值运算符: = 扩展的赋值运算符: +=,-=,*=,/=,%= 比较运算符: ==,!=,>,>=,<,<= 特点:比较运算的运算结果是boolean类型 逻辑运算符: &、...

2018-05-21 14:21:44 116

原创 Java基础学习1

/* 常见的命名规则: 见名知意 包:其实就是文件夹,用于把相同的类名进行区分,全部小写 单级:cn.liuyi 多级: cn itcast 类或者借口: 一个单词:单词的首字母必须大写 举例:Student,Dog 多个单词:每个单词的首字母必须大写 举例:HelloWorld 方法或者变量: 一个单词:单词的首字母小写 ...

2018-05-20 17:57:44 113

转载 STM32 GPIO 配置之ODR, BSRR, BRR 详解

用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态.ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1 gpio 管脚为高电平,写 0 为低电平BSRR 只写寄存器:[color=Red]既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高 16bit 写1 对应管脚为低电平,对寄存器低16bit写1对应管脚为...

2018-05-19 10:16:31 1319

原创 数据结构之顺序表

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>#define maxsize 1024typedef int datatype;typedef struct{ datatype data[maxsize]; int last;} sequenlist;...

2018-03-27 21:06:42 192

原创 C语言之结构体 共用体 枚举 typedef

结构体类型和结构体变量, struct定义结构体类型时 不占内存匿名结构体,无法创建变量访问,有限的结构体类型变量结构体变量不能整体引用,只能引用变量成员结构体变量用大括号赋值,只有在创建并初始化的时候才可以#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<str...

2018-02-23 13:02:56 308

原创 C语言之字符串(草稿)

C语言没有字符串的类型自己要会编写字符串的各种函数是以特殊字符数组的形式存储和处理字符串,这种字符串必须以空字符 '\0' 结尾。这类字符串数组称为C风格字符串必须以空字符 '\0' 结尾'\0' 为结束符数组元素初始化的时候,如果没有指定后面的元素,一般会默认为0,0 是‘\0’的编号#include <stdio.h>#include <stdlib.h>int ...

2018-02-21 20:21:25 172

原创 C语言之指针二

函数指针如果在程序定义了一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址,称为这个函数的指针 函数名就是函数开始的地址函数二级指针可以修改函数指针的指向函数指针,不仅仅是地址,必须明确函数指针类型和输出参数类型和数量函数名可以作为参数传递给函数指针#include <stdio.h>#include <stdlib.h>int add(i...

2018-02-20 13:26:21 199

原创 C语言之指针一

一个程序程序载入内存,代码数据都有地址,外挂就是调用函数修改数据,函数就是代码。变量就是数据函数名就是地址内存地址是连续的,相邻内存单元间的地址差1,可以把内存看成一个平坦的一维空间内存与CPU读写速度快,容量比较小   ROM程序:代码区 数据区 堆栈指针与指针变量    指针:一个变量的地址,指针变量:专门存放变量地址的变量,指针变量的值是地址    指针类型 : char*    short...

2018-02-13 19:11:20 261

原创 C语言之可变参数函数

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdio.h>#include <stdarg.h> //包含很多可变参数的宏的头文件#include <string.h> //有关于字符串的函数//可以接受多个参数加法的可变参数函数int add(int ...

2018-02-10 16:35:43 168

原创 C语言之数据的输入输出

#define _CRT_SECURE_NO_WARNINGS//字符输入输出函数 getchar() putchar()//格式输入输出函数 scanf() printf()// %e 以指数形式输出 %g选用宽度较小的格式输出实数//printf("%8d",10); //输出数据的字段宽度,补空,不影响原来位数下//printf("%08d",10);//输出数据的...

2018-02-09 19:57:42 621

原创 C语言之插入汇编语言

#include<stdio.h>//C语言插入汇编是嵌入式的必修课程,从事嵌入式要好好学习汇编语言int main(){ int x; _asm //插入汇编语言 { mov eax,20 add eax,-15 mov x ,eax } printf("%d",x); getchar();}...

2018-02-09 19:55:01 622

原创 C语言之数据类型笔记

掌握char,short,int,long,long long,double ,float 的极限以及浮点数的精确度,,,赋值是将二进制存入内存中,以不同数据类型解析得到值不同char short 字符,无论有无字符,在表达式都会转换为int 或者unsigned int 类型    long long 类型用来存储手机号码//两个 %% 表示%// += -= *= /= %= 高级运算符...

2018-02-09 19:45:12 250

原创 C语言之浮点数内存机制

#include<stdio.h>#include<stdlib.h>//从事嵌入式开发和游戏外挂必须掌握 int main(){ //浮点数存在误差,float类型只能精确到6~7位 float f1 = 6.25; printf("地址 %x\n", &f1); //断点 printf("float %d字节\n", sizeof(...

2018-02-09 19:39:46 206

原创 C语言之函数

C语言也是调用函数,也有库函数和其他第三方函数,换一个角度学习STM32就是对函数库的学习,再换一个角度就是学习C语言的第三方函数,和单片机只有一点点关系主要还是C语言的STM32库的学习函数名的本质是内存代码地址形参变量名可以省略函数参数的传递过程是从右往左递归无限循环容易堆栈溢出,函数返回值有副本机制,在返回的时候,另外保存一份, 原来内存或者寄存器的数据就被销毁了,数组没有副本机制函数的递归...

2018-02-09 19:15:45 230

空空如也

空空如也

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

TA关注的人

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