自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c语言——链表

链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表中的元素在内存中不必顺序排列,而是通过指针相互连接。

2025-04-26 10:34:06 236

原创 c语言——动态内存管理

内存的使用:1.申请2.使用3.释放。

2025-04-26 09:19:36 287

原创 c语言——枚举

枚举在C语言中通常用于提高代码的可读性,使得程序员可以使用更加有意义的符号代表一组相关的常量值,而不必记住这些常量对应的具体数值。枚举顾名思义就是--列举,把可能的取值--列举。这些可能取值都是有值的,默认从0开始,依次递增1,当然在声明枚举类型的时候也可以赋初值。创建一个枚举变量,它的值是在规定的范围选取一个,相当于给变量的取值取名字。5.枚举常量是遵循作用域规则的,枚举声明在函数内,只能在函数内使用。{}中的内容是枚举类型的可能取值,也叫 枚举常量。性别有:男、女、保密,也可以--列举。

2025-04-25 17:32:39 293

原创 c语言——结构体、联合体

对齐规则1.结构体的第一个成员对齐到和结构体变量起始位置偏移量为0的地址处2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处对齐数 =编译器默认的一个对齐数 与 该成员变量大小的较小值,VS 中默认的值为8-Linux中 gcc 没有默认对齐数,对齐数就是成员自身的大小3.结构体总大小为最大对齐数(结构体中每个成员变量都有一个对齐数,所有对齐数中最大的)的整数倍。

2025-04-25 17:17:49 206

原创 c语言——位段

位段式的结构体大小是明显小于同样成员的普通结构体的大小的,其实位段的出现主要是在完成功能的情况下尽量的节省内存。1.位段的成员必须是 int、unsigned int 或signed int,在C99中位段成员的类型也可以选择其他类型。4.当一个结构包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是舍弃剩余的位还是利用,这是不确定的。(16位机器最大16,32位机器最大32,写成27,在16位机器会出问题。3.位段中的成员在内存中从左向右分配,还是从右向左分配,标准尚未定义。

2025-04-23 21:03:59 236

原创 函数指针变量

函数名和&函数名拿到都是函数的地址,没有区别。这一点和数组是有区别:int arr[10];arr :数组首元素的地址。&arr:数组的地址。

2025-04-22 22:56:51 134

原创 c语言——assert

如果程序又出现问题,可以移除这条#define NDBUG 指令(或者把它注释掉),再次编译,这样就重新启用了 assert()语句。一般我们可以在 Debug 中使用,在 Release 版本中选择禁用 assert 就行,在 vs 这样的集成开发环境中,在Release 版本中,直接就是优化掉了。如果该表达式为假(返回值为要),assert()就会报错,在标准错误流 stderr 中写入一条错误信息,显示没有通过的表达式,以及包含这个表达式的文件名和行号。

2025-04-22 16:32:00 239

原创 c语言——野指针

如果明确知道指针指向哪里就直接赋值地址,如果不知道指针应该指向哪里,可以给指针赋值NULLNULL是C语言中定义的一个标识符常量,值是0,0也是地址,这个地址是无法使用的,读写该地址会报错。指针变量不再使用时,及时置NULL,指针使用之前检查有效性。当指针指向的范围超出数组arr的范围时,p就是野指针。3.指针指向的空间释放。

2025-04-22 16:15:16 175

原创 c语言——static、const

被static修饰的局部变量只会被创建和初始化一次,离开函数空间时不会被销毁,对变量的调整会积累。局部变量和形式参数放栈区malloc、calloc、free等申请动态内存分配时都在堆上申请空间静态区(一旦创建好之后直到程序结束后才销毁)放全局变量和静态变量。

2025-04-22 10:05:31 248

原创 前端——(1)html

这个HTML文档是一个非常基础的网页模板,包含一个标题和一个段落。它展示了HTML的基本结构,包括DOCTYPE>声明、<html>根元素、<head>元数据部分和<body>可见内容部分。HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言:HyperTextMarkupLanguageHTML 不是一种编程语言,而是一种标记语言标记语言是一套标记标签HTML使用标记标签来描述网页HTML 文档包含了HTML标签及文本内容HTML文档也叫做web 页面。

2025-04-18 17:33:10 1102

原创 蓝桥杯嵌入式模板介绍

先cubemx配置,main里初始化,再封装函数使用。

2025-04-13 19:32:40 304

原创 STM32(6)串口通信

通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统通信协议:制定通信的规则,通信双方按照协议规则进行数据收发。

2024-11-05 11:47:42 1146

原创 STM32(5)ADC数模转换

ADC(Analog-Digital Converter)模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间输入电压范围:0~3.3V,转换结果范围:0~409518个输入通道,可测量16个外部和2个内部信号源规则组和注入组两个转换单元模拟看门狗自动监测输入电压范围 STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道。

2024-11-02 16:30:28 2066

原创 STM32(4)输出比较和输入捕获

OC(Output Compare)输出比较 输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道 高级定时器的前3个通道额外拥有死区生成和互补输出的功能。

2024-11-02 10:23:50 2338

原创 STM32(3)定时器

TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型定时器的本质就是计数器,当这个计数器输入的时钟源是一个准确可靠的基准时钟时,它在对这个时钟进行计数的过程,就是计时的过程。

2024-11-01 16:52:06 2388

原创 STM32(2)EXTI外部中断

中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回。

2024-10-31 21:32:54 414

原创 STM32学习笔记(1)GPIO

本文章主要记录了我学习STM32F103C8T6的过程,通过标准库进行开发,内容部分学习了江科大的视频,代码和注释基本上是自己手打,配图来自江科大中文参考手册。

2024-10-31 21:04:09 1064

空空如也

空空如也

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

TA关注的人

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