自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(238)
  • 资源 (7)
  • 收藏
  • 关注

原创 常见的通信方式

信号集的阻塞掩码指的是linux定义"sigset_t"类型的变量,该类型的数据在linux当中存放所有的阻塞信号的集合,将多个信号集中到一个处理当中形成信号集,sigset_t类型变量其实为一个结构体描述,在这个结构体当中存放一个整型变量,这个整型变量存储linux当中的信号值。在信号中,阻塞就是将信号直接挂起,进程不受指定信号的干扰,信号不影响进程的执行方式,直到解除阻塞,在通过信号影响进程的运行,相当于接受到信号之后,由于阻塞关系暂时不执行,解除阻塞之后在执行。

2025-03-04 15:39:31 330

原创 进程相关的函数

return关键字和exit函数都是将IO缓冲区中的数据刷新,然后再结束进程对象,但是实际上只有exit函数才能真正结束进程,_exit(0)和_Exit函数也是直接结束进程对象,但是缓冲区不会刷新操作.,linux操作系统中。system()会在一个新的进程中执行指定的命令,并等待命令执行结束后返回,通常会使用系统中默认的shell来执行,因为新开了终端所以有性能消耗,它是一个。父进程比子进程先退出,导致子进程没有被及时回收,那么子进程变为孤儿进程,资源无法得到回收,系统会指定某个系统进程为父进程。

2025-02-26 20:24:20 726

原创 进程与程序

一个程序运行的时候,该程序进入到就绪态,此时就绪态以队列的形式存在,将申请的资源所诞生的任务放置到队列中,程序中任务在队列中排队等待执行,动态优先级可以提高运行的进程对象位置,队列执行,通过排队的先后顺序执行任务节点,当前进程在队列当前等待时间片耗尽。CPU内部的MMU,在给CPU传达指令的时候,有一些指令是与操作系统硬件相关的,CPU会把内存分级,在linux中有两级,内存空间为0级,用户空间为1级,从用户切换到内核速度慢,是因为MMU在进行权级切换。当数据进入到CPU之后,经过四步处理数据。

2025-02-26 15:46:56 727

原创 STM32中断详解

但是 STM32F103 中只使用 4 位,高 4 位有效), 用于表达优先级的高 4 位又被分组成抢占式优先级和响应优先级,通常也把响应优先级称为“亚优先级”或“副优先级”,每个中断源都需要被指定这两种优先级。在配置中断时,我们通常使用的只有 ISER、 ICER 和 IP 这三个寄存器:ISER 是中断使能寄存器,ICER 是中断清除寄存器,IP 是中断优先级寄存器。(1)使能外设中断,这个具体是由外设相关中断使能位来控制,比如定时器有溢出中断,这个可由定时器的控制寄存器中相应中断使能位来控制。

2024-12-26 19:07:31 1160

原创 步进电机原理

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累计误差等特点。使得在速度、 位置等控制领域用步进电机来控制变的非常的简单。闭环就是在产生误差后会自动回转。

2024-12-26 18:37:02 513

原创 stm32迁移

首先从迁移到 == stm32== 会有部分代码不一样,主要就是stm32所有的初始状态需要自己初始化。

2024-12-25 10:36:42 1035

原创 STM32文件详解

被[WEAK]或__weak 声明的函数,我们可以在自己的文件中重新定义一个同名函数, 最终编译器编译的时候,会选择我们定义的函数,如果我们没有重新定义这个函数,那么编译器就会执行[WEAK]或__weak 声明的函数,并且编译器不会报错。其他是内部时钟源,芯片上电即可产生,不需要借助外部电路。MicroLIB 是没有源码的,只有库。weak 顾名思义是“弱”的意思,在汇编中,在函数名称后面加[WEAK]来表示,而在 C 语言中,在函数名称前面加上__weak 修饰符来表示,这样的函数我们称为“弱函数”。

2024-12-25 09:51:37 1153

原创 STM32相关知识及其创建工程

基本部件: GPIO输入输出,外部中断,定时器,串口中断基本外设接口: SPI,IIC,WDG,ADC/DAC,这些外设接口功能原理对每个芯片几乎都是一样LWP网络通信,FATFS访问U盘等文件系统,GUI人机交互界面,USB。

2024-12-18 20:06:15 1211

原创 工具使用方式

工具使用方式IMage2LcdPCtoLcd2002取字模

2024-12-17 09:11:30 207

原创 无线遥控红外通信

红外发射装置一般是指红外遥控器由电源电路 和电路组成一般的红外线波长为940nm左右,外形与普通发光二极管相同红外遥控为了提高抗干扰性能和降低电源消耗,红外遥控器常用载波的方式传送二进制编码,,这个是由发射端所使用的的455kHZ晶振决定的在发射端要对晶振进行整数分频,分频系数一般取 12,所以 455kHz÷12≈37.9kHz≈38kHz。载波:是具有一定频率的电磁波。

2024-12-11 19:55:36 828

原创 四种通信方式优缺点

单总线,一对多,一对一,需要外接4.7k的上拉电阻,所以当总线闲置时,状态为高电平,耗时。时钟线高电平时候,数据由高转低成为起,数据由低转高为结束,开始能有多个,结束只能有一个。三根线 接数据线,收数据线+时钟线 ,插头有9头跟25头,并且接线是交叉线。同样需要上拉电阻,一对一,一对多,每个从机都有一个独立地址。,主机发送复位脉冲,等待从机应答,一问一答形式造就单总线。波特率,常见波特率有9600,启动位,校验位,停止位。起始信号,数据有效性,时钟同步,相位,极性。串口实验 蓝牙,wifi,跟pc通信。

2024-12-10 20:44:43 409

原创 并行通信LCD1602液晶

1602 液晶也叫 1602 字符型液晶,我能显示 2 行字符信息,每行又能显示16 个字符。我是一种专门用来显示字母、数字、符号的点阵型液晶模块。我是由若干个5x7或者 5x10 的点阵字符位组成,每个点阵字符位都可以用显示一个字符, 每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。

2024-12-10 19:59:15 696

原创 ADC和DAC

ADC也成为模数转换器,是指一个将模拟信号转变成数字信号,单片机在采集模拟信号时,通常都需要在前端加上A/D芯片1)分辨率:ADC输出的是离散信号的个数,这些信号值通常用二进制存储,这些离散值得个数是2的幂指数,C51最大是1282)转换误差:就是在转换时候有误差,正常相对误差在±LSB/2 半个字3) 转换速率:ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数,完成一次A/D,则是转换速率的倒数。

2024-12-10 19:49:35 873

原创 SPI通信协议

SPI是一种高速、全双工、同步通信总线,通常能达到甚至超过10M/bps最快可以超过50M/bps主要有两种模式,通常有一个主模块和一个或多个从模块组成,主模块选择一个从模块进行同步通信,从而完成数据的交换提供时钟的为主设备接收时钟的设备为从设备,SPI接口的读写操作,都是由主设备发起,当存在多个从设备时,通过各自的片选信号进行管理。

2024-12-09 21:00:29 925

原创 单总线one-Wire

One-Wire总线是DALLAS公司研制开发的一种协议。

2024-12-05 19:34:49 1215

原创 IIC通信总线

AT24C01/02/04/08/16…是一个 1K/2K/4K/8K/16K 位串行 CMOS,内部含有 128/256/512/1024/2048 个 8 位字节,AT24C01 有一个 8 字节页写缓冲器, AT24C02/04/08/16 有一个 16 字节页写缓冲器。该器件通过 I2C 总线接口进行 操作,它有一个专门的写保护功能AT24C02 器件地址为 7 位,高 4 位固定为 1010,低 3 位由 A0/A1/A2信,号线的电平决定。

2024-12-04 20:09:19 918

原创 串口工作方式

当 RI=0,且 SM2=0(或接收到的停止位为 1)时,将接收到的 9 位数据的前 8 位数据装入接收 SBUF,第 9 位(停止位)进入 RB8,并置 RI=1,向 CPU 请求中断。当停止位移至输出位时,左边其余位全为 0,检 测电路检测到这一条件时,使控制电路进行最后一次移位,并置 TI=1,向 CPU 请求中断。当 RI=0,且 SM2=0(或接收到的第 9 位数据为 1)时, 接收到的数据装入接收缓冲器 SBUF 和 RB8(接收数据的第 9 位),置 RI=1,向 CPU 请求中断。

2024-12-03 18:49:09 890

原创 通信的基本概念

标准高电平(1)低电平(0)TTL(行业认准)3.3v-5v0-0.1vRS232(国际认准)-15v~-3v3v~15vRS485(国际认准)就这一个需要差分电压2v~6v-6v~-2v要实现TTL单片机与PC端通信,需要借助MAX232电平转换芯片。

2024-12-02 19:35:21 847

原创 中断,定时器相关内容

对于单片机来讲,中断是指 CPU 在处理某一事件 A 时,发生了另一事件 B 请求 CPU 迅速去处理(中断发生);CPU 暂时停止当前的工作(中断响应), 转去 处理事件 B(中断服务);待 CPU 将事件 B 处理完毕后,再回到原来事件 A 被 中断的地方继续处理事件 A(中断返回),这一过程称为中断。通俗来讲就是MCU在正在做的事情强行中断事件从而执行中断的事件注意中断事件最好不要有延时函数,在中断过后会立马返回去执行主线的函数。

2024-11-29 19:25:52 852

原创 LED点阵系列

LED点阵系列

2024-11-28 18:27:48 152

原创 C51相关实验

输出端是高电平 所以要让LED点亮只需要让MCU输出低电平即可,内置引脚是P2,所以要让哪个亮只需要让哪个引脚为例子:LED^3=0;让第三个LED亮起。

2024-11-25 18:32:38 644

原创 单片机电路基本知识

概念:应用实例家用电子,汽车电子,嵌入式系统,低成本,低功耗,小型化,通常使用c语言或者汇编语言,用于家用电器控制,智能家居,汽车电子等领域。

2024-11-21 15:05:06 2050

原创 lcd屏幕相关内容

位图中的像素是3个字节,屏幕上的像素是4个字节。屏幕上的像素是4个字节可以用int类型保存,但是C语言中没有3个字节的数据类型,所以位图的像素无法直接保存。用3个单字节char,分别保存每个字节,然后需要用的时候再组装。图片的文件标识是从第0个字节开始,一共占2个字节。图片文件的总大小从第2个字节开始,一共占4个字节。图片的宽度从第18个字节开始,一共占4个字节。图片的高度从第22个字节开始,一共占4个字节。获取点击xy坐标方法方式封装。

2024-11-14 15:05:37 237

原创 c设备io

可以将它想象成一个二维平面,由一个个像素组成,它的分辨率宽度和高度的乘积就是整个Framebuffer的像素点,例如:分辨率为800*600的Framebuffer,就表示这块显存有600行,每行有800个像素点。Framebuffer从字面意思理解帧缓冲,是Linux内核将显存进行抽象后的一块缓存(内存),目的是为了给用户态进程提供一套直接写屏的接口。Framebuffer就是用户可以操作的显示内存的映像,操作时需要将其映射到一个内存进程地址之后,可以进行读写。可以使用命令查看以下头文件。

2024-11-06 19:46:28 893

原创 c目录IO

打开关闭,创建3结合代码。

2024-11-06 16:24:17 174

原创 c标准IO

标准IO和文件的相关操作,基本上都是以f开头的一系列函数。系统IO在打开文件之后,会得到文件的描述符,文件操作基本围绕着文件描述符进行。标准IO在打开文件之后,会得到文件流的指针,文件操作基本围绕着文件流指针进行。

2024-11-04 16:03:54 436

原创 c文件io

Linux系统中定义了int类型的全局变量errno,保存了所有常见的错误信息码,查看errno.h文件路径。注意读取文件有个bug,这个bug就是光标的问题 当你打开第一个txt文件,再去读取第二个文件是读不出来的,这个时候就需要关闭再打开才能读取到,或者使用一个函数移动光标。注意:设备文件可以被创建,但是没有对应的硬件支持,该文件只是单纯的占用内存。所以一般打开文件,文件描述符从3开始,文件描述符默认最大值为。将新的文件描述符覆盖旧的文件描述符,旧的也能用也是相当于复制。

2024-11-01 14:22:46 624

原创 操作数据库的API

注意:主要记住这里的两级三级指针,传参。查询有两种方法,可以参考以下代码。

2024-10-30 18:42:04 584 1

原创 sqlite数据库

关于数据库查询优化的方案:1.尽量使用连接查询代替子查询2.避免在大数据表中使用like3.尽量对查询结果限制条数,limit上述提到的优化方案都是从sql语句层面的查询优化,除了从sql语句层面对查询优化之外,还有很多其他的优化方式:使用索引。索引(index)是一种特殊的查找表,数据库索引用来加快数据检索。简单的说,索引是一个指向表中数据的指针。一个数据库中的索引与一般书的索引目录是非常相似的。

2024-10-30 14:18:27 729

原创 c语言内核链表

c语言内核链表在Linux中拥有大量的内核源码,在数据存储的这块位置拥有内核链表(双向循环链表)由linux内核提供的链表文件,里面包含了多组内联函数和宏定义函数以及功能性函数。内核链表中定义了多个函数,我们只需要知道参数的类型,然后填入参数,即可完成增删改查操作。内核链表兼容了通用性,将指针域剥离出来,只封装指针域来管理节点。内核链表优缺点:优点:逻辑完整,函数封装完整,只需要调用,指针域独立管理节点。缺点:用户无法修改内核链表的写法。实现内核链表的使用#include <s

2024-10-24 21:01:09 817

原创 c语言库文件

库文件的概念我们将已经实现的某些功能封装在一起,形成一个可以操作的函数库既可以方便我们函数调用,并且对代码进行了加密保护。为了方便实现分装操作,我们将多个源文件(函数功能),打包成库,方便调用。需要注意的是:库函数文件中只能包含功能性函数,。

2024-10-16 15:16:04 846

原创 c语言枚举enum共用体union

enum是一个新的关键字,专门用来定义枚举,typeName是枚举类型的名字,value1,value2每个值对应的名字列表。枚举如果没有给值默认是从0依次加1,如果说中间有个枚举没给值那么会在前面一个枚举值+11.枚举列表中的Mon,Tues,Wed这些标识符的作用是全局的,不能定义和他名字相同的变量2.枚举列表中的值是整数3.Mon、Tues都是常量,不能对他们赋值,只能将他们的值赋给其他变量。枚举值定义完基本就跟常量无意 不能修改只能赋值。

2024-10-15 17:13:55 1064

原创 c语言结构体

基本格式struct 结构体名{结构体所要包含的数据类型//基本定义int age;char *job;//1.定义多个结构体变量用逗号隔开int age;char *job;}tea1,tea2;//2.也可以在下面用变量定义 格式 struct 结构体名 变量名注意:在定义的时候最好给个初始值不然就会出现乱码定义结构体指针可以在初始化的就直接定义,也可以在后面重新定义,sbsc就是两种定义方式。

2024-10-14 20:14:15 818

原创 格式化字符串操作函数

字符串字符串。

2024-10-12 14:44:31 734

原创 别名定义typedef

给指针类型取别名//给int *取个别名P_TYPEP_TYPE p;p = &data;//10。

2024-10-12 11:11:01 259

原创 堆区空间操作

malloc。

2024-10-10 11:49:23 343

原创 指针的理解

计算机中所有的数据都必须存放在内存中,不同类型的数据占用的字节数不同:int占4个字节,char占1个字节为了正确的访问这些数据,必须为每个字节编上号码,就像门牌号。每个字节的编号都是唯一的,根据这个编号可以准确地找到某个字节。我们将内存中字节的编号称为地址(Address)或者指针(Pointer)。地址从0开始以此增加,对于32位环境,程序能供使用的内存位4G,最小地址为0,最大地址0xFFFFFFFF通过指针交换两个变量的值//情况一。

2024-10-07 16:29:25 1037

原创 字符串的相关库函数

如果找到了指定的子字符串,则返回该子字符串在字符串中的地址;参数 str1 和 str2 是要比较的两个字符串,n 是要比较的字符数。否则返回非 0 值。注意事项:区分大小写 从第一个字符开始比较一直比到两者不同的字符,如果a>b返回其差值的ASCII码值为正数,反之相等为0,小于为负整数。否则返回非 0 值。返回的是当前字符串中需要查找的字符,并且要查找的字符前面不需要读取,只读取查找出来以及后面字符,如果找不到就返回null。strchr 函数在字符串中查找指定字符,并返回第一个匹配到的字符的指针。

2024-09-30 14:44:10 900

原创 计算机变量内存分区

的生命周期一样都是在等程序的销毁才结束,内存才回收,那么这时候的变量就可以当做全局变量来看,看以下代码。存储在栈中,全局变量存储在堆中,当你使用static进行修饰的时候,改变了变量的存储类型使之存储在。关键字进行引入,然后同时执行两个文件就行,但是使用了static进行修饰的时候,让其变为。在c语言中定义静态变量的时候,会改变当前变量的生命周期,并改变变量的村粗区域,首先。生命周期同程序销毁一起,所以每次i++的值都保存了下来,直到程序结束。在进行比对不难发现外部定义的变量不能使用了,

2024-09-29 16:13:26 356

原创 c语言常量变量

scanfgetsfgets三者的区别scanf1.scanf是一个格式化输入函数,它可以根据指定的格式从标准输入读取数据。2.使用scanf读取字符串时,需要小心处理缓冲区溢出的问题,因为scanf不会自动检查目标缓冲区的大小。3.scanf在读取字符串时遇到空格、制表符或换行符会停止。gets1.gets函数从标准输入读取一行,直到遇到换行符为止,并将换行符替换为字符串结束符\0。2.gets不检查目标缓冲区的大小,因此非常容易导致缓冲区溢出,引发安全问题。

2024-09-26 16:59:50 624

python资源包 官网下载太慢

python资源包 官网下载太慢,为了给各位铁子的方便只需要小小的积分就可以,谢谢支持

2023-07-27

vue 项目模板 工作可以直接用

vue 项目模板 工作可以直接用

2022-11-22

react模板 初始化模板 工程简单模板

react模板 初始化模板 工程简单模板

2022-10-24

自适应rem的css文件

常用于手机pc自适应 只需要使用rem作为单位直接写就好

2022-05-23

management-wl.zip

management-wl.zip

2021-11-02

ljjemllljcmogpfapbkkighbhhppjdbg-6.0.0.19-Crx4Chrome.com.crx

vue3devtools

2021-10-20

各种资源的chrome tools

vue,react,dehelper,还有一款比较好用的截图软件 snnipatea

2021-08-16

不同的后缀名显示不同的请求头json文件

不同的后缀名显示不同的请求头

2021-05-10

易果小型电商网站可以作为毕业设计,里面包含数据库设计以及相关前后台代码

小型的电商网站,购物车的商品购买主页的渲染等一系列流程,可以作为毕业设计,相当于一个小型的项目,里面有些专业东西,建议有着node基础的人参观

2020-10-12

学习过程做的实际案例

一些小案例用于借鉴不适于盈利,有帮助的话就多多支持一下,有一些表格分页,城市案例,电影选座,飞机大战,购票选座,快递,淘票票,拖拽效果,仿网易云,下拉列表,旋转抽奖案例,音乐,数据库的增删改查等等

2020-09-21

空空如也

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

TA关注的人

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