自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32之基本定时器的使用

通过使用精准的时基,通过硬件的方式,实现定时功能。

2024-04-03 12:09:17 1132

原创 stm32串口的使用

1.1概述 :指按位发送和接收的接口但是,rs233的电平逻辑和其他的是否一致呢?我们知道在单片机我们是通过电平的变化来区分逻辑1和逻辑0 然后进行分析得到的数据那我们来看一下RS232的逻辑电平和COMS和TTL的,这里CMOS和TTL是我们控制器的电平不一致,所以需要进行转换,一般是需要使用串口工具进行转换的,但是我使用版子上有usb转串口所以就不需要外接串口工具了。usart和uart都是全双工异步通信。

2024-04-02 21:20:18 671

原创 stm32之外部中断使用按键控制LED

打断cpu的执行,转而去执行紧急的程序 然后返回原暂停的程序继续执行举例说明:当你在写作业,家里喊你吃饭(相当于中断触发条件),然后去吃饭,吃完继续写作业。

2024-03-28 12:04:42 485

原创 stm32之点亮LED

概述:General Purpose Input Output,即通用输入输出端口,简称GPIO 作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出。是不是很迷糊,简单来就是控制引脚使其能够达到输入和输出电平的操作。比如我们这里的LED,我们需要将PB5设置为低电平,那是输入还是输出呢?注意:这里的输入和输出的操作对象即主体是单片机。所以我们需要单片机去给PB5引脚输出低电平。即设置为输出模式。

2024-03-27 20:51:59 1206

原创 数据结构 队列

队列只允许在一端进行插入操作,而在另一端进行删除操作的线性表特点:队列是先进先出的线性表 允许插入的一端称为队尾,允许删除的一端是队头这里我们就介绍链式的。

2024-02-27 18:39:22 352

原创 数据结构栈和队列

栈的链式存储结构,简称链栈在栈的链式中我们将栈顶放在单链表的头部,所以我们不需要头结点补充:对于链栈来说 基本不存在栈满的情况,除非内存已经没有可以使用的空间:空栈的栈顶指向空 即 top=NULL;这里有个特殊的地方 在上面涉及到的 我们都是使用的尾插法,这里 我们使用头插法。

2024-02-26 10:55:08 380 1

原创 数据结构笔记1线性表及其实现

1.1 概述:指互相之间存在着一种或多种特定关系的数据元素的集合,包括逻辑结构,存储结构和对数据的运算。(数据元素都不是孤立存在的):0个或多个数据元素的有限序列:用一段地址连续的储存单元依次储存线性表的数据元素那说到这里的定义,大家是不是会联想到数组 数组的定义:数组由数据类型相同的一系列元素组成 即开辟一块内存空间 给数组 数组每相邻的元素不仅逻辑上相邻物理地址上也是相邻的是不是和线性表的顺序储存结构一样 所以我们利用数组来完成线性表的顺序储存我们来看线性表的顺序储存的结构代码。

2024-02-21 16:01:13 1557

原创 c语言经典例题

这里我会将和c语言有关的题目分享给大家 题目来源很多 大家也可以去自行参考 我只是将自己的一些理解写下来 参考菜鸟教程,力扣,牛客等 这里会持续更新的我们刚刚的c语言刚刚结束 我们来通过简单到一般的难度来巩固一下。

2024-02-20 12:15:45 311

原创 c语言头文件和强制类型转换

强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符int main()当上面的代码被编译和执行时,它会产生下列结果:这里要注意的是强制类型转换运算符的优先级大于除法,因此sum的值首先被转换为double型,然后除以 count,得到一个类型为 double 的值。类型转换可以是隐式的,由编译器自动执行,也可以是显式的,通过使用。

2024-02-20 10:03:55 700

原创 c语言笔记typedef与输出输入

C 语言提供了关键字,可以使用它来为类型取一个新的名字示例:我们可以看到这里 我们将unsigned char 新起一个名字为 BYTE 后面我们定义此类型的变量的时候就可以使用BYTE那在起了新名字之后 unsigned char 是否可以使用呢?我们可以看到是可以使用的 我们在使用typedef的时候并不会影响到原来的类型使用 只是起了新名方便我们使用。当然也可以使用来为用户自定义的数据类型取一个新的名字。

2024-02-20 09:53:30 1091 1

原创 c语言位域

struct 位域结构名位域列表元素描述type只能为 int(整型),unsigned int(无符号整型),signed int(有符号整型) 三种类型,决定了如何解释位域的值。位域的名称。width位域中位的数量。宽度必须小于或等于指定类型的位宽度。带有预定义宽度的变量被称为位域。位域可以存储多于 1 位的数,例如,需要一个变量来存储从 0 到 7 的值,您可以定义一个宽度为 3 位的位域,如下:为什么是宽度为3的位域 因为7 在二进制是111 所以需要3个bit位就够了。

2024-02-18 15:26:30 770 1

原创 c语言结构体与共用体

结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项结构体定义由关键字 struct 和结构体名组成,结构体名可以根据需要自行定义。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下...tag是结构体标签。是标准的变量定义,比如 int i;或者 float f;,或者其他有效的变量定义。结构变量,定义在结构的末尾,最后一个分号之前,您可以指定一个或多个结构变量} book;

2024-02-18 13:45:17 1146 1

原创 c语言字符串

刚刚我们定义还强调是一维字符数组 这是历史遗留问题 在const关键字被引入c语言之前这样写是可以的 但是现在 我们已经不用这样的方式去表示字符串了。)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。当然也不用我们自己去写\0 C 编译器会在初始化数组时,自动把 \0 放在字符串的末尾。注意的是每个字符数组的最后一个元素必须是\0 标识字符串的结束。由于在数组的末尾存储了空字符 \0,所以字符数组的大小比单词。

2024-02-07 12:24:35 233 1

原创 c语言指针

指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明在这里,type是指针的基类型,它必须是一个有效的 C 数据类型,var_name是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号是用来指定一个变量是指针。以下是有效的指针声明int *ip;/* 一个整型的指针 */double *dp;/* 一个 double 型的指针 */float *fp;/* 一个浮点型的指针 */

2024-02-07 12:08:45 912 1

原创 c语言枚举

定义一个枚举类型,需要使用 enum 关键字,后面跟着枚举类型的名称,以及用大括号 {} 括起来的一组枚举常量。没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5。在C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的,所以按照 C 语言规范是没有办法遍历枚举类型的。枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量,它可以让数据更简洁,更易读。

2024-02-06 15:07:59 139 1

原创 c语言数组

数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。简单来说:数组由数据类型相同的一系列元素组成即开辟一块内存空间 给数组 数组每相邻的元素不仅逻辑上相邻物理地址上也是相邻的由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素这叫做一维数组。arraySize必须是一个大于零的整数常量,type可以是任意有效的 C 数据类型arraysize:指的是数组里面有多少个元素 比如 有五个元素 arraysize=5(思考一下 既然有一维数组 有没有多维数组呢?

2024-02-06 10:33:25 1123 1

原创 c语言 函数

定义1 函数是一组一起执行一个任务的语句。定义2 函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码这里大家可以参考数学里面的函数概念,这里有个很有意思的思想 “黑盒子思想”就是把函数类比一个黑盒子 里面是什么 不需要去管 只需要知道 怎么用即可。:我们自己进行定义的函数 ,下文所提的函数都是自己定义的在 C 语言中,函数由一个函数头和一个函数主体组成。函数的类型:函数是什么类型 比如int 并决定了函数的返回值类型,即函数的返回值类型必须和函数的类型相同。

2024-02-05 11:42:48 920 1

原创 c判断 和循环

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。C 语言把任何非零和非空的值假定为true,把零或null假定为false。记住是任何非0的为真知道了基本概念 让我们来学习c语言的判断语句吧!:一个if 语句由一个布尔表达式后跟一个或多个语句组成。那什么是布尔表达式呢?布尔表达式 :是一段代码声明,它最终只有true(真)和false(假)两个取值 也就是我们说的判断语句。

2024-02-04 12:05:01 753 1

原创 c 存储类

顾名思义只适用于局部的变量 那这个局部具体又是指什么呢?:一个.c文件有很多的函数,在函数体外进行定义的变量 是全局变量 作用域是整个.c文件需要特别注意的是:需要特别说明:全局变量在定义的时候就已经开辟了内存单元为了区别局部变量和全局变量,通常将全局变量的第一个字母用大写表示;int a=1;运行结果:可以看到是可以正常输出a的值补充:1在使用变量的时候呢 一定要在变量的作用域内去使用。

2024-02-03 14:27:38 614 1

原创 c语言数据转换

数据转换

2024-02-02 19:38:38 310

原创 c笔记 四 常量

概述:在常量的定义中 有这样一段话 常量可以直接在代码中使用,也可以通过定义常量来使用。那怎么进行定义呢?使用#define预处理器: #define 可以在程序中定义一个常量,它在编译时会被替换为其对应的值。使用const关键字:const 关键字用于声明一个只读变量,即该变量的值不能在程序运行时修改。

2024-02-02 18:51:01 890

原创 c语言笔记 三 变量和常量

变量

2024-02-02 11:43:01 1062

原创 学习嵌入式从基础开始 c语言笔记 二

在c语言中 数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量的储存占用的空间,以及如何解释储存的位模式: void 类型指定没有可用的值。1函数返回为空C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的 返回类型为空。例如2函数参数为空C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如3 指针指向 void。

2024-02-01 15:21:36 608

原创 学习嵌入式从基础开始 c语言笔记 一

c语言学习笔记一

2024-02-01 13:16:43 468 1

空空如也

空空如也

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

TA关注的人

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