自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

微末观星

博学而约取,厚积而薄发。

  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 七、STM32 时钟系统

STM32系统时钟树

2023-03-30 00:01:40 902

原创 六、固件库方式LED灯控制

固件库方式led控制

2023-03-27 22:30:49 478

原创 五、寄存器方式LED灯控制

stm32寄存器方式点亮LED灯

2023-03-27 22:01:52 338

原创 四、GPIO结构和启动文件

GPIO结构和工作模式

2023-03-26 23:09:33 658

原创 五、java数据结构之数组

java数组

2023-03-26 10:49:06 50

原创 四、流程控制

Java数组

2023-03-24 00:19:01 55

原创 三、运算符

Java运算符

2023-03-23 00:18:32 82

原创 三、存储器和寄存器

存储器和寄存器

2023-03-21 23:53:43 620

原创 二、Java基本数据类型

Java基本数据类型

2023-03-18 22:40:05 341

原创 一、Java环境搭建

Java编译环境搭建

2023-03-17 22:39:30 639

原创 二、STM32标准固件库工程建立

构建STM32标准固件库工程demo

2023-03-13 00:36:32 1264

原创 网络抓包分析工具Wireshark的下载、安装和使用

一、Wireshark下载官网下载地址:https://www.wireshark.org/download.html,在谷歌浏览器地址栏输入官网网址点击需要的版本就会开始下载安装包二、Wireshark安装双击下载的安装包Wireshark-win64-3.6.2.exe默认点击:下一步点击Noted默认设置,点击:下一步默认设置,点击下一步修改安装路径,自定义,点击:下一步默认设置,点击:下一步默认设置,点击:Install开始安装安装过程中会提示安装Npca

2022-03-03 16:47:02 34989 7

原创 C语言文件处理-学习笔记(二十二)

一、文件相关概念1、文件概念指存储在外部介质上(如磁盘磁带)的具有名字的一组相关数据的集合。(1)这里的文件是数据文件! 它是用来存放程序要处理的原始数据和程序运行的结果数据的。(2)操作系统是以文件为单位对数据进行管理的。(3)使用文件可以带来的好处:①可以实现程序和数据分离。②实现数据共享③实现数据的长久保存。(4)一个数据在磁盘上存储①字符型数据(char,字符串)无论在文本文件中,还是二进制文件中,一律以文本形式存储!②数值型数据(int,float,double)在二进制文件

2021-08-10 23:06:25 658 3

原创 C语言二进制数据-学习笔记(十九)

一、二进制数据1、二进制数、位、字节与字十进制数:10,12等。二进制数:1011等。一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit。一个字节为8个二进制,称为8位,简称BYTE,8个比特是一个字节。一个字为2个字节,简称WORD。两个字为双字,简称DWORD。2、进制转换八进制整常数须以0开头,即以0作为八进制数的前缀。数码取值0~7。通常是无符号数。如0666;十六进制整常数的前缀为0X或0x。其数码取值为0-9,A-F或a-f。(1)二进制转为八进制:-&g

2021-07-25 23:19:08 1907 2

原创 C语言结构体指针-学习笔记(十七)

一、 结构体类型指针1、结构体指针变量以读方式访问形参的函数,仅出于性能的考虑,可以地址方式传参,避免结构复制所带来的开销。为防止在函数中意外地修改实参,可以用常量指针定义参数。2、指针引用结构体成员的三种形式①结构体变量名.成员名②(*p).成员名③p- >成员名p->n //得到p指向的结构体变量中的成员n的值p->n++ //先用p指向的结构体变量的成员n的值,用完后该成员n值加1;++p->n //成员n值先加1,然后使用n二、 指向结构体变

2021-07-23 22:57:43 810 1

原创 C语言结构体变量和结构体数组-学习笔记(十六)

一、结构体变量1、结构体概念将不同类型的数据组合成一个有机的整体即为结构体。结构体由许多组织在一起的数据项组成,这些数据项不需要属于同一类型。2、结构体类型及结构体变量定义(1)结构体类型声明struct 结构体名{成员表列;};①–结构体类型声明形成了创建结构体变量的模板。②–声明模板时若没有定义变量是没有开辟内存空间的。③–结构体中的变量称为结构体元素或结构体成员。(2)结构体类型定义及结构体变量定义方法一:先定义结构体类型再定义变量名struct staff // s

2021-07-20 23:18:16 3210 1

原创 C语言特殊指针-学习笔记(十五)

一、指向指针的指针变量(二级指针变量)1、概念(1)指针变量本身也存放在内存当中,它们也有地址,这个地址叫做指针变量的指针。(2)可以用一个变量来存放指针变量的地址,该变量就叫做指向指针的指针变量。(二级指针)那么:x=*p=*(*pp) p=*pp(3)定义格式:类型 **变量名,…… 如: int **pp;pp是一个指针变量,它可以指向一个指向整形数据的指针变量。3、二级指针用法例1:#include <stdio.h>int main(){

2021-07-18 01:00:03 271 6

原创 C语言函数指针和指针函数-学习笔记(十四)

一、函数指针和指向函数的指针变量1、概念(1)变量、数组、字符串在内存中占有一定的存储单元,有起始地址,因此可以用一个指针变量指向它们。(2)函数代码在内存中也占据一定的内存单元,因此它也有入口地址,该地址叫函数指针,同样也可以用一个指针变量指向该地址,叫指向函数的指针变量。(3)函数名代表该函数的入口地址。2、函数指针变量调用函数(1)定义格式:函数类型 (*指针变量名)(函数参数表 )如: int (*ip)(int,int); //指针IP所指向的函数的返回值是int型的。 i

2021-07-17 00:44:36 366 6

原创 C语言字符数组和字符指针-学习笔记(十三)

一、字符串处理1、字符串表示和处理方式在C语言中没有专门的字符串类型,字符串可以用三种方式表示和处理:(1)字面值方式:“xsteach”。不能修改,但是可以被赋值给变量,并在变量中修改。字面值方式的字符串后面自动追加’\0’结束符。字面值可以拼接:" abcdg" ==> “erghjj”(2)用字符数组:void main( ){ char string[]="How are you?" ; printf("%s\n" , string) ;}//以char型数组表示字符串,

2021-07-16 00:10:00 581 4

原创 C语言字符数组及字符串处理函数-学习笔记(十二)

一、字符串概念1、字符串常量定义:一对双引号括起来的字符序列。2、字符串常量存储方式字符串中的每个字符作为一个数组元素存储(占用1个字节),\0也算做占用一个字节。字符串"WELCOME"在内存中按照如下方式存储:w e l l c o m e \0。3、字符串 I/O 操作scanf("%s",str); //接受字符串(头文件: #include <stdio.h>)printf("%s",str); //显示字符串(1)字符串输入函数gets()①功能:接受按下回车

2021-07-11 21:59:17 1057

原创 十一、C语言二维数组和指针数组

一、指向一维数组的指针常用运算已知:一维数组:a[i]={0,1,2,3,4,…,i};*p=a;故:a[i]=*(a+i)=p[i]=*(p+i)=*p++二、二维数组中的行地址和列地址1、列地址(1)定义:第几个元素的地址,用单下标或双下标+&或*+行地址表示列地址。如:a[0] 、a[i]、&a[0][0]、*a、*(a+i)。已知:int a [3][4]={{0,1,2,3},{4,5,6,7},{8, 9,10,11}};可把二维数组a 看成三个一维数组组成

2021-07-10 23:59:20 1468 6

原创 C语言数组指针-笔记(十)

一、数组指针概念1、指向数组的指针(1)一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。指针变量既可以指向变量,也可指向数组和数组元素。(2)所谓数组的指针(数组的名称)是指数组的起始地址,也就是第一个元素的地址。数组的指针是个常量指针。2、指向数组元素的指针(1)指向数组元素的指针变量的定义、赋值如:int a[5] , *p ; p=&a[0] ;//(p=a;)另外可在定义的同时进行初始化:如:int *p = &a[0] ;

2021-07-09 00:16:26 611

原创 C语言指针和指针变量-学习笔记(九)

一、基本概念1、地址(1)内存(内部存储器):由存储单元组成,其特点是存储单元线性连续。存储单元的最小单位是字节。(2)地址:内存区的每一个字节有一个编号, “地址” 。如果在程序中定义了一个变量,在对程序进行编译时,系统就会给这个变量分配内存单元。(3)变量的地址:变量在内存中总占用几个连续的字节,开始字节的地址,就是变量的地址。2、变量的访问方式(1)直接访问:按变量i地址存取变量值的方式(按变量名访问变量);如:printf("%d\n",i);scanf("%d",&i);

2021-07-06 23:54:11 797 5

原创 C语言预处理命令-笔记(八)

一、预处理1、编译预处理C语言允许在程序中使用几种特殊的命令(它们不是一般的C语句),在C编译系统对程序进行通常的编译之前,先对程序中这些特殊命令进行“预处理”,然后将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码。所以预处理不占用系统运行的时间。2、主要预处理功能(1)宏定义 ;(2)文件包含;(3)条件编译二、宏定义1、概念(1)宏:是对正文进行代入或嵌入的一种功能。即从一字符流中取出某个字符串去代替源程序里的标识符。说明:①宏名使用大小写字母都可以,习惯用大写字母,

2021-07-04 20:41:32 446

原创 C语言函数-笔记(七)

一、概念1、函数具有某种功能的独立程序段,用来实现一个模块的功能。换句话说,函数就是一系列语句的组合,用以实现一些相对独立且具有一定通用性的功能。如:y = f(x);2、分类从用户使用角度看,函数可分为:①标准函数(库函数)②用户自定义的函数从函数的参数形式看,函数可分为:①无参函数;②有参函数二、函数声明1、标准函数(库函数)的声明调用标准c库函数时无需声明,但要包含对应函数的头文件。如:#include <stdio.h>2、调用用户自定义函数的声明当用户自

2021-07-04 17:46:10 459

原创 C语言整型数组-笔记(六)

一、数组1、数组概念(1)数组定义:数组是一段连续的内存区域,一组有序的、类型相同的数据的集合。换句话说,数组是用来存储多个类型相同的数据的数据结构。数组是数据的容器,而非数据本身。(2)数组名:数组的名字,数组名代表数组的起始地址。数组名代表数组首地址,引用时可不必再加&,加也可以。(3)数组元素:索引或下标标识,索引或下标从0开始。(4)数组长度: 数组中元素的个数被称为数组的长度。只能是常量和常量表达式(大于0)。动态计算数组长度:sizeof(arr)/sizeof(arr[0])

2021-07-04 00:24:06 2934

原创 C语言语句-笔记(五)

一、基础概念1、语句表达式后面加上分号,构成表达式语句。特殊情况为只有1个分号的语句,称空语句。2、语句分类(1)空语句:本身只有一个分号,在不需要执行任何任务,但语法要求出现一条完整的语句时使用。(2)表达式语句:如:x=y+3;(3)控制语句,包括选择语句和循环语句。二、选择语句(分支语句)分类:if语句和switch语句1、 if语句(1) 分类① if(单分支);② if(expression) …else…(双分支)③ if … else if … (else if)

2021-07-02 22:59:47 1289 6

原创 C语言运算符和表达式-笔记(四)

一、运算符1、分类(1)根据操作数的数量:一元运算符、二元运算符和三元运算符(2)根据操作数的用途:赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符……2、运算符的优先级和结合方向(1)按运算符的优先级高低次序执行。例如,先乘除后加减。(2)如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。结合性是指该操作数是先与左边的运算符结合,还是先与右边的运算符结合。(3)用法指针最优,单目运算优于双目运算,如正负号。先乘除取余,后加减。先算

2021-07-02 00:34:55 417

原创 C语言输入和输出函数-笔记(三)

一、 格式化输入scanf()和输出printf()函数(一) scanf()函数1、概念(1)功能:用于接收数据,给变量赋值。(2)函数原型及参数:int scanf(“control string”,argument list);第1个参数为控制字符串,常为格式类型说明符:%d….;第2个参数为参数列表,基本数据类型为& +(int ,float,char…):&a;(3)返回值:正确返回输入成功的参数数量,错误则返回0(4)头文件:#include <stdio

2021-06-23 23:28:41 392

原创 C语言基本数据类型-笔记(二)

C语言基本数据类型一、C语言概念1、介于汇编语言和高级语言之间的中级语言,具有低级语言的特性,能编写系统软件,又是一种结构化的程序设计语言,即具有高级语言的特性,可用于编写应用软件。2、编译原理:源文件(.c)和头文件一起经由编译器编译成为目标文件(.obj),目标文件和库文件及其他用户生成的目标文件由链接器链接形成可执行文件(.exe)。二、C语言程序结构和注释1、工程由一个或多个.c文件构成;每一个.c文件可由预处理命令,全局声明变量,函数和注释组成。2、注释用于描述特定的命令、函数或程序

2021-06-16 23:34:15 624 2

原创 Microsoft Visual C++6.0软件建立C语言工程-笔记(一)

Microsoft Visual C++6.0软件建立C语言工程一、软件安装在安装包中有2个文件,双击执行Setup.exe程序,自定义软件安装路径和工程存储默认保存路径。完成之后,右键点击Visual C++6.0软件,打开文件所在位置,并将安装包中MSDEV.EXE文件复制替换已存在的MSDEV.EXE文件。二、单文件工程的建立第一步:双击打开Visual C++6.0软件快捷方式第二步:点击File—>新建第三步:点击工程—>选择Win32 Console Applic

2021-06-16 00:00:42 8781 10

原创 STM32F103ZET6-学习笔记1

一、STM32F103ZET6 开发板各功能模块简介(型号:PZ6806L)标号简介:(1):MiniUSB接口,用来进行程序的下载和串口1通信。通过CH340将USB和STM32串口进行转换实现程序的下载和串口通信。连接电脑USB可实现程序下载,电源供电,串口1通信功能,兼容安卓数据线。(2): 从USB接口,是STM32 USB的一个接口,只用于USB 从机通信,可做U盘...

2020-01-01 23:39:03 6716

原创 FFmpeg基础编程-学习笔记(十二)

首语:学习三步:是什么?怎么用?为什么?一、概念1、FFmpeg:(1)FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。(2)FFmpeg是领先的多媒体框架,提供音视频的编解码播放等功能,支持几乎所有音视频格式。含有多个模块库,如AVFormate,AVCodec,AVFilter,AVDivic...

2019-09-13 15:37:02 382

原创 Linux中POSIX IPC(二)和线程同步(2)-学习笔记(十一)

一、条件变量:1、概念:用线程间共享的全局变量进行同步的机制。条件变量是用来等待事件。条件变量给多个线程提供了一个汇合的场所。2、原理:在线程间同步时,自动阻塞一个线程,直到某些条件满足被唤醒,通常与互斥锁一同被使用。3、函数:(1)初始化条件变量int pthread_cond_init(pthread_cond_t *cond,pthread_condattr_t *cond_...

2019-08-18 14:57:34 155

原创 Linux中POSIX IPC(二)和线程同步(1)-学习笔记(十)

1、线程为什么要同步?共享数据可能会重复,线程间有很多共享资源,都对一个共享数据进行读写操作,可能会冲突。//程序1 线程间共享资源访问冲突#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <stdlib.h>int counter;//定义全局变...

2019-08-18 12:42:49 121

原创 Linux中POSIX 多线程技术-学习笔记(九)

1、概念:线程是一个进程内部的控制序列,是轻量级进程。也有PCB,创建线程使用的底层函数和进程一样,都是克隆。2、线程与进程关系(1)进程有自己的PCB空间及自己独立的共享地址空间;线程有自己的PCB空间但无自己独立的共享地址空间(2)CPU执行时以线程为最小执行单位。进程是最小的分配资源的单位。(3)可以把进程看成一个只有一个线程的进程。程序可看成一个主线程(进程)3、线程:用于执行...

2019-08-18 01:34:41 211

原创 Linux中网络基础和SOCKET-学习笔记(八)

1、协议概念指定规则:先传输文件名,再传输文件大小,最后传输数据。如ftp协议,传输固定数据,遵守一定的格式。标准协议:如http、tcp/ip,arp等。2、网络设计模式c/s架构:client/server 特点:要求开发客户端和服务端,协议采用自定义方式;必须先下载客户端,数据提前缓存好。 不足:安全性不高;开发工作量大b/s架构:web...

2019-08-17 20:05:38 175

原创 Linux中进程间通信(POSIX IPC)-学习笔记(七)

一、内存共享映射1、mmap(1)将磁盘文件的一部分直接映射到内存(2)映射机制 share:内存修改,磁盘跟着修改,磁盘修改内存跟着修改 private:内存当中的数据发生变化,不影响磁盘空间2、munmap -->解除映射3、mmap函数(1)参数1:内存的地址位于哪个位置 1)设置多少合适 1)null,系统会帮找一块内存空间(2)参数2...

2019-08-15 01:02:11 438

原创 Linux中管道-学习笔记(六)

1、匿名管道(1)确定通信方向:1)父写子读,关闭父读,关闭子写 2)子写父读,关闭子读,关闭父写(2)好处:确定,经典(3)注意事项:1)写端关闭,读端仍然在读,则读完管道中的内容后再次读时,读到EOF,返回0。2)写端未写完数据,写端暂无数据但未关闭,则读端将数据读完,再次去读时,发生阻塞。3)读端关闭,写端写数据到管道,进程产生SIGPIPE信号,默认写进程会终止进程4...

2019-08-13 21:57:29 233

原创 Linux中信号-学习笔记(五)

一、概念:信号是UNIX系统响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动。信号是因为某些错误条件而产生的,比如内存段冲突、浮点处理器错误或者非法指令等。1、分类:分为软中断和硬中断产生的信号,其中软中断实际为借助硬件手段完成。2、特点 1)简单;2)不能携带大量信息;3)满足某个条件才发送。3、特质 由于信号通过软件方法实现,具有很强延时性对用户来讲,时间...

2019-08-13 18:26:20 512

命名管道.zip

在Linux下通过管道方式传输文件数据,这里采用命名管道进行文件读写,程序已验证。

2019-08-27

空空如也

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

TA关注的人

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