自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ARM基础知识

kernal(大脑)+GPIO(外设寄存器)+UART(通用异步收发器)+PWM(调制)+RAM+ROM。cache:高速缓存,内部分为i cache和d cache,前者用于缓存指令,后者用于缓存数据。哈佛架构为分离的存储器,指令存储器+数据存储器。1,user :非特权模式,大部分任务执行在这种模式。a.拷贝当前工作模式的CPSR到异常模式的SPSR。运算器,控制器,存储器,输入设备,输出设备。ALU:算数逻辑单元,用于算数,逻辑运算。b.设置适当的CPSR位(异常模式下的)

2025-09-19 21:21:34 378

原创 网络编程---TCP

e.为满足同时收发,TCP存在双缓冲区,每个大小为64k,当缓冲区满时,会发生相应阻塞。ACK,即收到数据后会明确告知发送方已收到数据;连接请求信号,并发送自己的随机初始序列号 (Server ISN)d.accept()建立连接,产生通信套接字,即三次握手过程。b.accept()建立连接,产生通信套接字,即三次握手过程。a.socket()产生一个监听套接字。a.使用流式套接字,数据连续,有顺序。a.socket()产生一个套接字。f.close()关闭监听套接字。d.close()关闭套接字。

2025-09-09 20:52:13 455

原创 网络编程---UDP

a.无连接---发送完数据后,发送的链路自动释放,所以每次发送数据前都需要简历链路连接。c.大数据---同等情况下,UDP协议比TCP协议一包数据的正文更多。b.不可靠---在发送过程中,数据在任何一个节点上都可能会丢失。4.示例:向客户端发送一张图片。用户数据报协议,位于传输层。注意:服务端一定要先收后发。

2025-09-09 20:19:16 158

原创 网络编程基础

为网络用户提供各种服务,如电子邮件,文件传输等:为不同主机间通信提供统一的数据表示形式负责信息传输的组织和协调,管理进程会话过程管理网络通信两端的数据传输,提供可靠(TCP)或不可靠(UDP)的传输服务负责数据传输的路由选择和网际互连负责物理相邻的主机间的数据传输负责把主机中的数据转换成电信号,再通过网络介质来传输。

2025-09-09 20:03:41 307

原创 进程间通信 IPC

管道,信号。

2025-09-08 20:59:45 251

原创 线程的控制(互斥+同步)

sem_t sem;//信号量的分类:无名信号量--》线程间通信 有名信号量--》进程间通信。

2025-09-08 20:14:36 753

原创 线程----

线程是轻量级的进程,一般是一个进程中的多个任务进程是系统最小的资源分配单位线程是系统中的最小执行单位。

2025-09-05 09:25:53 277

原创 进程相关函数

1.一次调用会返回两次,产生的叫子进程,原进程叫父进程2.变量不共享3.子进程&父进程运行顺序不确定4.子进程复制父进程的0-3G空间和父进程内核中的pcb,但PID号不同。

2025-08-27 20:56:57 849

原创 进程---

指一个程序的执行过程,在这个过程中会去和进行pcb是linux系统中的一个结构体,用于进程的控制pcb的内容:1.PID:进程标识符,系统给每个进程分配的一个进程号2.当前工作路径3.umask:0002,用于控制新文件的权限4.进程打开的文件列表:类似于数组下标5.信号相关设置6.用户id,组id7.进程的资源上限。

2025-08-27 20:16:10 174

原创 数据结构----顺序表

集合:所有数据在一个集合中,关系平等线性:数据与数据间为一对一关系树:一对多图:多对多。

2025-08-19 10:22:18 134

原创 结构体&共同体&枚举

提供给用户,根据问题的需要,自己来组织一种数据类型,可以描述现实生活中一些用基本数据类型不好描述的场景,结构体可以把不同类型的数据集合在一起例子'.'为结构体成员运算符,具体使用方式为实际中用法为注意:a.结构体初始化按照成员变量本身的方式&成员变量依顺序初始化b.赋值:相同类型结构体变量见客相互赋值;给结构体成员变量赋值,要按照成员变量本身的方式赋值;输入也要按照成员变量本身的方式输入a.结构体类型变量做形参---->数据量大,不推荐。

2025-08-08 21:19:16 350

原创 C语言----指针与函数

定义:函数返回值是指针类型的函数。

2025-08-07 21:06:28 136

原创 C语言---数组

char**-------->指向字符指针的。

2025-08-07 20:34:12 389

原创 C语言----指针

基类型 * 指针变量名 (1)(2)(3)(1)基类型:说明了通过指针找到的空间有多大&怎么用;也表明了找到的空间上所存储的数据类型(2)*:只是修饰符,用来说明现在定义的变量不是普通的变量了,而是指针变量(3)指针变量名:是个标识符,符合标识符的命名规则。

2025-08-05 21:29:09 489

原创 C语言----预处理命令

a.语法:#define 标识符 字符串#define:预处理命令标识符----宏名字符串----宏值(1)用一个更有可读性的标识符(宏名)代表一个具体的值(常量),提高代码的可读性(2)符号常量:见名知意,方便修改代码(一改全改)(3)语法:最后不拿写分号;宏名一般建议大写&宏名区分大小写;宏名的作用域从定义开始到文件结束(4)预处理----本质是做文本的替换c.带参宏(1)语法: #define 宏名(参数) 宏值(2)用途:实现多行代码的替换。

2025-08-04 20:38:10 315

原创 C语言----数组作为函数参数

数组类型包括:整型一维;字符型一维;整型二维;字符型二维。

2025-08-04 19:32:21 144

原创 汉诺塔----使用递归表示

有三根柱子(标记为A、B、C),其中柱子A上有n个大小不一的圆盘,初始时按大小顺序叠放(最小的在上,最大的在下),目标是将所有圆盘从柱子A移动到柱子C,每次只能移动一个圆盘,且任何时候大圆盘不能放在小圆盘上。

2025-07-31 21:17:04 176

原创 C语言----函数

(1)C语言中所有 标识符 -- 先定义,后使用(2)main函数是整个程序的入口函数(3)定义的位置:1.main之前2.main之后 //必须在使用前,做一下函数声明函数声明 //将函数头复制 加上分号函数的嵌套使用1.函数能嵌套使用的原因:有栈空间的存在,且符合先进后出的规则(栈空间是内存里的一块空间,在Linux系统中默认为8M)2.特殊的嵌套调用:自己调用到自己,即为递归递归1.递归的特点:(1).递归本质上是个循环(2).这种循环 一定会结束,因为栈的空间有限。

2025-07-31 20:54:02 872

原创 C语言---字符型一维数组&二维数组

用于存放字符串数据:连续性(从首地址开始按顺序存储),单一性,有序性,且是在有一个结束标志‘\0’//内存中依次为‘h’‘e’‘l’‘l’‘o’‘\0’puts(ch)功能:输出一个字符串参数:需要字符串ch的首地址返回值:成功===非负数;失败===-1输出效果:默认带有‘\n’gets(ch)功能:从键盘标准输入获得字符串参数:存放字符串数据ch的一块空间的起始地址返回值:成功===s;失败===NULL#注意:gets易导致数组越界,栈崩溃。

2025-07-30 20:53:14 304

原创 C语言----字符型一维数组

连续性(从首地址开始按顺序存储),单一性,有序性,且是在有一个。使用scanf函数从键盘输入一个字符串,赋值给ch数组。参数:存放字符串数据ch的一块空间的起始地址。返回值:成功===非负数;返回值:成功===s;#注意:gets易导致数组越界,栈崩溃。功能:从键盘标准输入获得字符串。参数:需要字符串ch的首地址。:用于存放字符串数据。功能:输出一个字符串。

2025-07-29 21:28:26 191

原创 C语言----数组的排序问题

c语言的排序一般是从左到右依次增大。

2025-07-29 21:14:53 268

原创 C语言----数组

/下标范围 [0~N-1],若超出这个范围 --- 数组越界。(3) [常量表达式]---[] //数组定义表示 ---用来标识 说定义的是一个数组。常量表达式用来说明 ---数组中相同类型变量的个数即数组长度 (数组元素)(1) 类型说明符 ---这个数组中要放的是哪一种类型的数据。数组名[下标] //此时[ ]是下标运算符。c.有序性 --- 元素按照顺序依次存放。b.单一性 --- 每个元素大小一样。(2) 数组名 ---标识符。a.连续性 --- 连续空间。用于实现对数据的批量处理。

2025-07-28 21:47:58 117

原创 C语言----循环结构

c语言中提供的循环控制语句。

2025-07-28 21:20:21 332

原创 C语言选择结构程序设计

概念:根据指定条件是否满足,决定从给定的两组操作中选择其一和关系表达式成立则关系为真,在C语言中表示为1(数值);反之则为假,在C语言中表示为0(数值)运算规则:一假则假该段代码中b的值为3,result的值为0,result的逻辑运算中a<0判定为假,则result直接赋值为0,后续的++b不再执行,所以最终b的值为3,此为与运算的运算规则:一真则真,或运算同样有短路特性运算规则:真假相对。

2025-07-26 20:28:24 500

原创 C语言的输入与输出

1.输入与输出的概念:从计算机向外部输出设备(如显 示器、打印机等)输出数据称为输出,从输入设备(如键盘、鼠标、扫描仪等)向计算机输入 数据称为输入。2.C语言本身不提供输入与输出语句,,输入和输出操作是由 C 函数库中的函数来实现的。3.所以输入与输出主要学习的是标准输入输出库中提供的相关函数。

2025-07-25 21:42:20 755

原创 C语言----常用的转义字符&C语言的运算

n----换行,将当前位置移到下一行开头\t----水平制表,即跳到下一个TAB位置(一个TAB占8个字符)\b----退格,将当前位置移到前一列\r----回车,将当前位置移到开头\f----换页,将当前位置移到下页开头\\----代表一个反斜杠字符'\'\'----代表一个单引号\''----代表一个双引号\ddd----1-3位八进制数所代表的字符\xhhh----1-2位十六进制数所代表的字符 例如char ch='\101';和char ch='\x41';

2025-07-24 20:10:24 251

原创 C语言---基本数据类型(整形,浮点型,字符型)

基本数据类型包括int----4字节;short----2字节;long----8字节;下图表示a所占用的内存,一小格为1字节大小,将0x12345678赋值给a时:(从下到上为高地址到低地址)因为计算机只能存储二进制数值,所以存储字符实际上存储的是字符对应的ASCII编码值,存的还是整数值。在定义一个整型变量a时,其实就是在内存空间开了int型大小的空间,这块内存名字为a。当对所在数据范围的最小值-1,会编程所在范围的最大值;当输入为负数时,这个值的最高位既充当符号位,又充当数值位。

2025-07-23 21:01:07 778

原创 记录学习嵌入式的第一天

今天是学习嵌入式的第一天,主要了解了嵌入式是什么,安装了虚拟机,了解了linux系统的基础操作命令以及linux的编程流程。(print work directory) 现在所处的目录,及“在哪里”/ 表示根目录,是所有文件的起点(list)查看当前所在位置下的内容,及“有什么”eg:ls - 1.txt//查看1.txt文件的属性(change directory) 用于切换目录eg:cd 目录名//切换到指定目录用于创建文件eg:touch 文件名//在当前位置创建文件。

2025-07-22 20:31:44 352

空空如也

空空如也

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

TA关注的人

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