自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c加加学习之day02

--------------------------------------------c加加之动态内存分配------------------------------------------------------------------------------面向对象和面向过程的思想---------------------------------------2.面向对象是分析出解除问题需要哪些对象参与,然后把这些对象创建出来,然后指挥这些对象去解决问题就可以了。

2025-04-02 19:37:16 240

原创 c加加学习之day01

-----------------------------------------------------c加加中的函数增强--------------------------------------------------------------------------------命名空间--------------------------------------------3.可以给命名空间起一个别名 , 别名是已定义的命名的可替换的名称。1.用户名字加::的形式来进行声明。切记一定要进行初始化。

2025-04-02 17:44:13 439

原创 恶补LINUX 应用层知识之io操作

---------------------------------------------------linux标准io--------------------------------------------------------------------------------------------------------------字节流的操作函数-------------------------------------------------

2025-03-19 17:55:04 773

原创 LINUX网络编程之day02

-----------------------------------------------TCP协议----------------------------------------------------------UDP(user datagram protocol):用户报数据传输协议,是不可靠的无连接的协议 因为在传输之前不用进行链接 所以传输的效率会变高 但是不保证数据的准确性。2.TCP协议:是一个面向连接的 可靠的 基于字节流的一种传输层协议,TCP是一种点对点 一对一的可靠链接协议。

2025-03-08 13:10:00 295

原创 LINUX网络编程之网络模型

网络体系结构即指网络的层次结构和每层所使用 协议 的集合两类非常重要的体系结构:OSI 七层模型 与TCP/IP 五层模型。每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务。网络采用分而治之的方法设计,根据网络的功能划分为不同的模块,以分层的形式有机组合在一起。这种网络模型的使用场景较少 我们多使用的是5层网络模型。

2025-03-07 20:13:15 157

原创 LINUX网络编程之---家庭网络结构之局域网通信

想一个ip和另一个IP地址进行通信 那么有如下步骤 :1创建APP协议数据包 2.将数据包发给我们的交换器 3.接收到数据包后 广播至所有的端口 4.广播 5.接收到数据包 进行ip地址匹配 6.如果匹配 则接受 如果不匹配则丢弃。端口映射:端口映射是NAT的一种,它将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。有两个重要的口:1.wan口:接外部 IP 地址用,通常指的是出口,转发来自内部LAN接口的IP数据包,这个口的IP是唯一的。

2025-03-07 17:08:57 165

原创 LINUX网络编程之网络初识

从第 1 位到第 16 位是它的网络号,网络号的范围是 128.0 ~ 191.255。其中 128.0 和 191.255 属于保留地址,因此有 16382 个可用的 B 类地址,后 16 位是主机号,一个 B 类地址的主机地址的数量就是 2 的 16 次方,即 65536 个主机地址。---------------------------------------------------共有地址和私有地址-----------------------------------------------

2025-03-07 16:03:03 809

原创 备战蓝桥杯第10天-TIM高级计时器

如图所示我们的时钟源有四个来源 第一个就是我们系统的APB时钟 第二个就是外部时钟输入了,而外部时钟输入有两个模式 第一个模式就是将定时器的GPIO设置成TIM_CH1 TIM_CH2的工作模式 然后通过滤波和边缘检测 然而这个模式如图既可以直接输入 也可以通过一个复用器进入到我们的从机控制模式再作为时钟的输入 第四个输入就是将我们的GPIO配置为TIM_ETR的工作模式 然后通过极性选择和边缘检测 最后通过我们的分频后作为我们的时钟来源。这一部分主要就是我们cube生成的结构体和我们的原理图对应的过程。

2025-02-22 22:53:52 762

原创 备战蓝桥杯第9天-TIM计时器初始以及初级定时器的使用

通过计算不难发现我们需要设置我们的预分频寄存器为7999(会自动+一) 然后我们的频率就会为10000,然后我们设置我们的arr寄存器为9999(会自动加一),此时我们的中断就是一秒+1。当我们的时钟(80M赫兹)输入的是偶我们通过一个控制器然后就到了我们的预分频器 经过分频后就会到我们的计数器 我们只需要设置我们的arr(即为上面的寄存器)我们一共是有10个定时器分为三个等级:1.基本定时器2.通用定时器3.高级定时器。这样 我们的基本定时器的东西就介绍完了。最后会触发我们的tim_it触发中断。

2025-02-17 23:49:39 123

原创 备战蓝桥杯第8天-ADC模数转换器

------------------------------------------------基本原理---------------------------------------------------------------------------------------cube的设置---------------------------5.采样时间:保持某一时刻的外部信号,保持时间就是采样时间(保持外部信号就是进行采样)4.触发源:使用控制寄存器启动时,很简单,为ADON位写1开始转换;

2025-02-16 11:47:29 257

原创 备战蓝桥杯第七天-------------IIC实战篇

--------------------------------------mcp4017可变电阻的iic---------------------------------------------写的操作注意 我们最后要放到我们的lcd屏幕上 这个函数的第一个参数就是存储的空间 我们一般用一个数组来存 第二个就是写的位置 第三个就是数据的多少。先写后读 读到我们定义的第二个数组里面 再通过lcd屏幕来显示。-------------注意--------------若要读取电压值 则要注意串联分压。

2025-02-11 23:10:08 170

原创 arm中断的学习

相关概念:1.中断源:产生中断的原头 2.中断号:芯片厂商对芯片内部中断源的编号 3.中断处理函数:发生中断后需要调用的函数 4.中断控制器:控制中断的优先级以及中断是否允许被处理 5.内部中断:芯片内部控制器产生的中断(如定时器) 5.外部中断:外部管脚通过电平触发的中断(上升沿 下降沿 高电平 低电平)中断打断了其他程序的执行,所以在中断处理的时候,需要先保存现场(CPU的状态和CPU内部寄存器的值),在中断处理结束的时候,需要恢复现场。每个CPU接口都为以下方面提供编程接口。

2025-02-09 23:38:34 904

原创 备战蓝桥杯第六天之IIC串口通信的学习(原理篇)

2.通信过程:1. 主机发送起始信号启用总线2. 主机发送一个字节数据指明从机地址和后续字节的传送方向 3. 被寻址的从机发送应答信号回应主机 4. 发送器发送一个字节数据 5. 接收器发送应答信号回应发送器 6. ........ (循环步骤4、5) 7. 通信完成后主机发送停止信号释放总线。每个连接到I2C总线上的器件都有一个唯一的地址(7bit) ,传输数据的设备间是简单的主/从关系,每个器件都可以作为主机也可以作为从机(但同一时刻只能有一个主机),总线上的器件增加和删除不影响其他器件正常工作;

2025-02-09 23:06:31 146

原创 备战蓝桥杯第五天---uart串口通信以及认识stm32NVIC中断

---------------------------------------------UART中断----------------------------------------------------------------------------------------------我们先通过外部中断来了解一下我们的流程-----------------------------------------------------中断优先级的设置--------------------

2025-02-09 13:32:07 391

原创 备战蓝桥杯第四天------lcd屏幕的显示

先写一个减速函数 300显示一次 我们需要用到sprintf函数 我们的sprintf函数第一个参数是char*类型的一个指针 第二个参数相当于是我们的printf里面的第一个参数,第三个参数就是我们的printf的第二个参数了。-------------------------------如何去应用是我们应该学习的重点内容---------------------------------------最后一个就是我们的显示函数第一个参数是我们的第几行 第二个参数就是显示的内容。返回值:成功时,返回写入到。

2025-01-30 18:34:42 152

原创 备战蓝桥杯的第三天之按键程序设计

--------------------------------------------按键原理图---------------------------------------------------主要用到的寄存器就是我们的VAL和LOAD寄存器 每一毫秒val数值会增加一 它是一个向下减小的寄存器 当val数值减小到零的时候我们的LOAD会加载一个数值到我们的val值。程序的运行除了我们的main函数之外还会有我们的滴答函数 当其计时器到零的时候会产生一个中断。

2025-01-29 20:45:04 96

原创 备战蓝桥杯嵌入式第二天之外部GPIO

---------------------------------------------点亮led灯的过程---------------------------------------------------------------------------------------------LED原理图理解-----------------------------------------------写管脚直接调用我们的write_pin就行 注意在蓝桥杯的开发板里面要先开再关我们的锁存器。

2025-01-27 22:30:50 362

原创 备战蓝桥杯嵌入式第一天

0x00000004启动模式是通过映射来决定哪块区域来先行执行 而具体是哪个映射带程序执行的地址 是由boot管脚来决定的 由外部的两个固定管脚来决定。这张图的先后过程就是对前面图的一个在stm32cube上的展示包括各种选择 这款芯片的外部晶振是24Mhz。2.我们的代码区域起始地址为0X20000000 3.我们的外设区域起始地址为0x40000000。APB和AHB就是外设的内存分配起始地址我们的flash起始地址为0x8000000。具体查找具体的地址还需要进行查找在32的参考手册的表中查找。

2025-01-26 00:00:53 118

原创 linux多路复用io模型

在 Linux 中,I/O 多路复用是一种高效的 I/O 处理方式,它可以同时监视多个文件描述符,当其中任何一个文件描述符就绪(可读、可写或有异常情况)时,就可以进行相应的 I/O 操作。在 Linux 中,select是一种 I/O 多路复用模型,用于同时监视多个文件描述符,以确定哪些文件描述符已准备好进行 I/O 操作(可读、可写或有异常情况)。初始化文件描述符集合:使用 FD_ZERO宏初始化文件描述符集合,然后使用 FD_SET宏将需要监视的文件描述符添加到相应的集合中。

2024-09-30 21:02:43 972

原创 linux多线程

两个线程分别对共享变量进行 10000 次递增操作,在每次递增操作之前,线程会对互斥锁进行加锁,在递增操作结束后,线程会对互斥锁进行解锁。当一个线程获取互斥锁时,互斥锁被锁定,其他线程无法获取该互斥锁,直到持有互斥锁的线程释放它。总之,线程退出是多线程编程中的一个重要概念,需要正确地处理线程退出的方式和影响,以确保程序的正确性和稳定性。通过合理地使用多线程,可以提高程序的并发性和性能。在多线程编程中,线程同步是非常重要的概念,主要用于协调多个线程对共享资源的访问,以避免数据不一致、竞争条件和其他并发问题。

2024-09-30 20:55:21 990

原创 多进程的相关学习

2linux会为每个进程分配id 这个id为当前进程的唯一标识进程结束 回收这个id。临界资源 : 不允许同时有多个进程访问的资源,包括硬件资源(CPU、内存、存储器以及其他外围设。资源竞争 : 当多个进程同时访问共享资源时,会产生资源竞争,最终最导致数据混乱。当前进程拷贝了父进程的文件描述符后,会共享文件状态与文件偏移量。若父进程执行不同的任务 则需要用fork函数的返回值来操作。进程是一个程序执行的过程,程序执行后 进程开始。函数 调用fork的叫做父进程 产生的新进程叫做子进程。

2024-09-24 17:55:10 292

原创 day07

大小:sizeof(arr)/sizeof(arr【0】)指针可以进行加减一个整数称其为指针的偏移。通过解引用操作符,可以获得地址中的值*arr--变量名就是数组中首元素的地址。指针就是用来保存地址的一种数据类型;&arr+1--相当于整个数组+1。地址:每一块内存单元的编号。&arr是整个数组的首元素。保存地址的类型:指针类型。指针变量也是变量---类型就是int 【6】

2024-06-21 20:21:12 143

原创 day05

3for(初始化循环变量;2. do while特点:循环至少执行一次。comtinue是结束本此循环。c语言提供了三种循环方式。\t水平制表符...等等。break是终止循环。2求1到n的阶乘之和。

2024-06-15 14:32:50 329

原创 day04

随机数是一个正太分布函数 每次在开机的时候就会自动确认。引入头文件#include如果想真的产生随机函数就必须重新播种。再使用srand函数进行重新播种。使用随机函数rand()将相同功能代码重复多次。循环三要素:1循环条件。

2024-06-15 12:03:59 166

原创 DAY03

按位异或 ^ 相同为0不同为1。(数据类型)+变量名。res=num<<2;全1为1 如果1&&2 1为假则不用执行后面的2。有1则1 全0为零如果第一个是1后面就不会执行。有1则1 按位或 |全1则1 按位与 &表达式1:表达式2;结论:向右移1位相当于/2;7逗号运算符和三目运算符。主要学习1强制类型准换。++ --(自增自减)

2024-06-09 20:13:53 176

原创 学c语言的第二天

0表示以八进制来输出(加上#会出现标志位0) %x表示输出16进制数据 (加入#会输出对应的标志位0x)如:printf("size(number)=%d/n",sizeof(number));无符号的如unsigned int number=10(最高位表示大小)取地址用printf("&number=%p\n",&number);数据会在内存中开辟空间(开多少有数据类型决定在哪开由电脑决定);有符号的数字在char中的大小范围是2的7次方减一到2的七次方。无符号的占据的大小为0到2的八次方=减一。

2024-05-23 15:26:54 521

原创 初识ubuntu

1.pwd 打印工作目录 2.cd(切换目录)cd或cd~进入家目录 3.当前目录 ..上一级目录 ../../上一级的上一级 4.ls 列出目录内容 5.mkdir 创建目录 6 touch 创建文件 7 rm 删除文件 8rm -rf删除目录。字符串与字符之间的转化 如"hello"='h'+'e'+'l'+'l'+'o'+'/0'#define (在include的下面写)标准写法define + 大写字母 +其他。字符常量 'a' 用''引起的 一个字符常量占一个字节=8个二进制单位。

2024-05-04 22:12:45 480 1

空空如也

空空如也

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

TA关注的人

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