自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++_pen_重载(1)

C++准许以运算符命名函数运算符分类数学运算符关系运算符特殊运算符。

2023-10-04 22:50:37 373

原创 C++_pen_友元

我故意让别人能使用我的私有成员友元类友元函数友元成员函数。

2023-10-04 19:54:53 211 1

原创 C++_pen_静态与常量

const 数据成员只在某个对象生存周期内是常量,而对于整个类而言却是可变的(static除外)

2023-10-04 18:50:52 232

原创 C++_pen_类

【代码】C++_pen_类。

2023-10-04 18:45:14 208

原创 网络编程基础——UDP编程(2)

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议。UDP协议与TCP协议一样用于处理数据包,在OSI模型中,两者都位于传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。

2023-01-16 19:54:38 266

原创 网络编程基础(1)

七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

2023-01-16 18:57:23 506

原创 简单小项目:基于Mplayer的视频播放器(Linux)

基于Mplayer的视频播放器(Linux) 0.以文件的形式存储软件的日志信息 1.该程序能够加载指定路径下所有的音视频文件 (.mp3 .mp4 .avi .rm .rmvb .flv .wma) 2.能够通过输入操作视频播放器

2023-01-08 21:42:43 2759 1

原创 进程间通信——共享内存

理解 Linux 系统内存模型可以有助于解释这个绑定的过程。在 Linux 系统中,每个进程的虚拟内存是被分为许多页面的。这些内存页面中包含了实际的数据。每个进程都会维护一个从内存地址到虚拟内存页面之间的映射关系。尽管每个进程都有自己的内存地址,不同的进程可以同时将同一个内存页面映射到自己的地址空间中,从而达到共享内存的目的。

2023-01-05 22:57:50 640

原创 进程间通信——信号

进程间通信,用来发送通知(异步通信,中断)内核层给用户层传递消息,通过发送信号实现硬件同步通信:发送端和接收端,使用同一时钟通信异步通信:发送端和接收端使用不同时钟通信软件同步通信:按照指定的顺序进行运行异步通信:一种随机事件,在程序编写阶段不能够确定事件发生的时机

2023-01-05 22:24:01 590

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

管道是UNIX 系统IPC 的最古老形式, 并且所有UNIX 系统都提供此种通信机制。管道有下面两种局限性:一、 历史上, 它们是半双工的( 即数据只能在一个方向上流动) 。现在, 某些系统提供全双工管道, 但是为了最佳的可移植性, 我们决不应预先假定系统使用此特性。二、它们只能在具有公共祖先的进程之间使用。通常, 一个管道由一个进程创建, 然后该进程调用fork, 此后父、子进程之间就可应用该管道。。

2023-01-04 22:08:43 912

原创 整蛊套路代码“我是大傻逼”C语言(短短20行让你的朋友关机)

一天一个绝交小技巧

2023-01-03 22:25:48 6859 6

原创 用进程fork和exec来实现一个模拟shell(简单版,代码量少)

用进程fork和exec来实现一个(minishell)模拟shell(简单版,代码量少)

2023-01-03 21:51:13 705

原创 基于Linux系统的文件IO操作

本文浅浅的描述一下linux文件io基本的函数,文件IO也称为系统调用IO,是操作系统为"用户态"运行的进程和硬件交互提供的一组接口,即操作系统内核留给用户程序的一个接口,按照操作系统的结构划分,Linux系统自上而下依次是:用户进程、Linux内核、物理硬件。其中Linux内核包括系统调用接口和内核子系统两部分。Linux内核处于“承上启下”的关键位置,向下管理物理硬件,向上为操作系统和应用程序提供接口,这里的接口就是系统调用。

2023-01-03 21:29:11 358

原创 C语言_(13)_单向链表(通俗易懂,理解链表看这个就行了)

如果我要在链表的最前端插入一个新的结点,这种方法叫做头插法。那我们将怎样把这个结点插入在前面呢,假设后面有其他旧的结点,那么该怎么能插入这个新结点并且不让后面的旧的结点失去联系。

2022-12-21 20:08:01 182

原创 C语言_(11)_指针的高级用法

1 地址:用来区分内存中不同字节的编号2 指针:地址就是指针,指针就是地址3 指针变量:一个存储地址的变量4 &:这个符号是用来获得一个变量在内存空间中的首地址,并且让表达式类型升级。 例如int型--->>int*型。5 *:这个符号如果在表达式=右边,表示取指针指向空间的值(所取得的空间大小取决于指针的类型)。如果在表达式=左边,表示将右边的值放入指针指向的空间。也有让表达式类型降级的作用。例如int*型--->>int型。

2022-12-19 17:16:00 308

原创 C语言_(10)_构造数据类型_枚举(3)

特性:枚举类型定义了一系列枚举常量,可以在程序中直接使用。 枚举常量的值是上一个常量加一,第一个值默认为0。 枚举常量可以直接赋值,在没有特定说明,默认为int型。

2022-12-19 10:12:40 105

原创 C语言_(10)_构造数据类型_共用体(2)

共用体所有的成员变量共同占用同一块空间。 并且你后面改变任何一个成员值,前面的值都不会作数了。

2022-12-18 19:20:08 103

原创 字符串b插入字符串a,统计字符串个数(c语言写法)

花花非常喜欢这种拥有对称美的回文串,生日的时候她得到了两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受哗哗的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。

2022-11-26 20:46:29 491

原创 C语言_(10)_构造数据类型_结构体(1)

在起初学习C语言时,我们操作的对象基本上都是数,字符。那我们想构造一些类型的话,比如电脑、小猫、小狗、人、年龄、时间。则我们可以用关键字struct来构造出这个我们想要的类型。假如构造个小猫类型,他会有小猫A、小猫B、小猫C等等......我们就要用结构体这个东西了。

2022-11-03 21:00:40 217

原创 封装string.h中基本函数,strlen,strcmp,strcpy,strcat

Mystrcmp:将str2中的内容追加到str1中。Mystrcat:比较字符串str1和str2的字典序大小(ASCII)。Mystrcmp:将str2的内容复制给str1,注意str1内存大小.Mystrlen:返回字符串的长度

2022-11-03 16:12:52 140

原创 C语言_(9)_函数_3

宏函数与变参函数

2022-11-03 15:44:36 88

原创 C语言_(9)_函数_2

c语言函数的剖析用法及范例

2022-11-02 22:45:13 144

原创 C语言_(9)_函数_1

在c语言中函数的作用是非常大的,他可以减少我们程序的复杂性,使程序具有逻辑,可以避免重复性代码,可以让程序模块化。

2022-10-31 19:27:40 524

原创 c语言数组与指针的剖析

在c语言中如果,我们给数组的数组名(即指向数组第一个元素的指针)进行自加运算,加的是这个数组定义的单个元素的字节,如果用int定义,则加的是4字节,也就是指向了数组向后偏移一个位置的元素。

2022-10-31 00:01:13 86

原创 SPI协议(学习笔记)

SPI 协议是由摩托罗拉公司提出的通讯协议 (Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、 LCD 等设备与 MCU 间,要求通讯速率较高的场合。

2022-10-25 19:23:16 353

原创 stm32__IIC(学习笔记)

I2C 通讯协议 (Inter - Integrated Circuit) 是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、 CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路 (IC) 间的通讯。

2022-10-23 12:18:51 373

原创 stm32_ DMA (火良哥笔记)

DMA:Direct Memory Access,直接储存器访问。主要功能是可以把数据从一个地方搬到另外一个地方 ,而且不占用CPU。DMA1:有七个通道,可以实现P->M M->P M->MDMA2:有五个通道,可以实现P->M M->P M->M。

2022-10-14 00:16:49 163

原创 USART——串口通信(火良哥课堂笔记)

规定通信系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。其实就是硬件部分。协议层主要规定协议逻辑,统一收发双方的数据打包、解包标准。其实就是软件部分。RS232标准串口主要用于工业设备直接通信电平转换芯片一般有MAX3232、SP3232 USB转串口主要用于设备跟电脑通信电平转换芯片一般有CH340、PL2303、CP2102、FT232使用的时候电脑端需要安装电平转换芯片的驱动 原生的串口通信主要是控制器跟串口的设备或者传感器通信,不需要经过电平转换芯片来转换电平,直接就用TTL通信就

2022-10-12 17:32:32 2383

原创 通信的基本概念

通信的基本概念

2022-09-30 17:06:38 137

原创 Sys Tick——系统定时器简述(内附滴答延时程序)

SysTick是STM32系统内部的定时器,计数器为24位,并且只能够递减,存在于内核中,嵌套在NVIC中,所有的Cortex-M内核的单片机都具有这个定时器。

2022-09-29 22:49:58 668 1

原创 stm32外部中断的简单理解与操作简单范例——按键控制LED翻转

STM32F10x最多有84个中断,包括16个内核中断和68个可屏蔽中断,具有16个可屏蔽中断优先级。下文我所用的STM32F103系列具有60个可屏蔽中断。STM32F103中断系统提供10个系统异常和60个可屏蔽中断,具有16个可屏蔽中断优先级。可屏蔽中断源包括外部中断、定时器中断、串口中断、直接内存访问中断(DMA)、模数转换中断(A/D)、集成电路总线中断、串口外设接口中断等。其中,本帖子用到的外部中断由嵌套向量中断控制器NVIC和外部中断/事件控制器EXTI来控制。

2022-09-22 18:26:00 2317 1

原创 基于Linux系统用C语言实现myshell(minishell)功能实现

实现原理很简单,我们将用户输入的字符串读取到我们的缓冲区中,,并且将重定向符改为\0并且读取出重定向的文件,随后保存判断结果。之后我们再次遍历一遍进行指令处理,我们利用字符指针数组让每一个指针指向每一个指令,并且将之间的空白符如(空格)改为\0。做完以上这一切,创建子进程利用进程替换将其替换为目标指令中的程序让其执行指定功能,如果有重定向符要先打开指定文件并且将标准输入重定向到指定文件中,者必须在子进程中完成,然后等待子进程关闭,父进程阻塞,并且让以上过程不断循环即可。...

2022-09-03 12:00:17 2746

原创 C语言_(8)_指针

指针的简单概念

2022-08-27 16:21:58 348

原创 C语言_(7)_二维数组

简单的二维数组

2022-08-27 16:02:31 216

原创 C语言_(6)_字符型数组

字符串基本

2022-08-26 19:08:28 374

原创 C语言选择排序法(通俗易懂类型)

选择排序顾名思义,选择二字为核心。而且这种排序方法用一种是用每轮来假设一个下标(这里我们每轮假设一个下标min),然后向后一个个比较选择出本轮需要的下标成为这个min然后交换到自己排序目的的位置...

2022-08-26 17:16:27 3299

原创 C语言冒泡排序法(通俗易懂类型)

这类方法是c语言新手用的相对较多的一种简单排序方法,接下来我用我自己的理解来解析一下易懂原理。 为了通俗易懂,给一个小的题目来讲解就是从终端输入5个数,存进数组,然后我们用从小到大的顺序对这个数组进行排序,然后打印在终端。......

2022-08-25 19:02:21 767 1

原创 C语言_(5)_数组

数组的概念

2022-08-25 17:38:36 196

原创 C语言_(4)_循环结构控制

for循环与while循环的范例与剖析

2022-08-24 17:07:25 107

原创 C语言_(3)_流程控制

if语句和switch语句的范例剖析

2022-08-24 16:36:28 1177

mplayer+日志eververv

mplayer+日志eververv

2023-01-07

file:///home/linux/Desktop/mplayer.zip

mplayer

2023-01-07

模拟shell(minishell)(myshell)

在Linux终端,运行一个可执行文件后,然后会打印出像终端提示符,然后接收输入的内容,根据输入的内容实现一个功能。 ls -a 查询当前目录文件包括隐藏文件 ls -l查询当前目录文件详情 touch 新建文件 rm删除文 mkdir 新建文件夹 rmdir 删除文件夹 cd切换路径 mv移动/重命名文件 pwd -> 在终端显示当前路径 cat -> 在终端显示文件类型 chmod -> 改变文件权限操作 ln -> 创建文件硬链接 ln -s -> 创建文件软连接 ***具有终端输入日记记录功能 其中 Main.c: 主要用于调用Terminal.c以及Command.c中的函数接口 Terminal.c: 用于实现终端的打印及接收命令,判断命令调用Command.c等操作 Command.c: 用于实现将传递进来的命令正确无误的操作进行,如ls,cd,mv, cp等等基本命令 Do.c执行函数 Public: 主要用于存放公共头文件 Terminal.h和Command.h: 存放模块头文件

2023-01-03

1_5_031493.asm

1_5_031493.asm

2022-10-19

我实现的是用按键控制LED灯的翻转,我的板子上面有两个按键,我也就写了两个按键

stm32外部中断的简单理解与操作简单范例——按键控制LED翻转 的一个压缩包 STM32F103中断系统提供10个系统异常和60个可屏蔽中断,具有16个可屏蔽中断优先级。                         可屏蔽中断源包括外部中断、定时器中断、串口中断、直接内存访问中断(DMA)、模数转换中断(A/D)、集成电路总线中断、串口外设接口中断等。                         其中,本帖子用到的外部中断由嵌套向量中断控制器NVIC和外部中断/事件控制器EXTI来控制。

2022-09-22

空空如也

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

TA关注的人

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