- 博客(20)
- 收藏
- 关注
原创 STM32 IIC总线
IIC协议协议简介IIC通讯协议是由Phiips飞利浦公司开发的,由于他引脚少,硬件实现简单,可拓展性强,不需要UASRT,CAN通讯协议的外部收发设备,现在被广泛使用在系统内多个集成电路IC(芯片)间的通讯。半双工的通讯方式引脚很少SDA SCL一个数据一个时钟和串口相比要一个芯片转换。
2025-04-29 11:02:50
456
原创 STM32 定时器TIM
这是目标设备(如超声波传感器)的协议规定,用于告知传感器 “开始发射信号”(例如超声波传感器会在接收到 10μs 高电平后,发射一束超声波)。2.
2025-04-27 15:10:54
1196
原创 STM32 串口USART
想象有一个大型的信息交流中心,也就是路由器,它就像是一个繁忙的邮局,能接收和分发各种信息包裹。现在有两台 “信息传递者”,一台是个人电脑(PC),另一台是 ESP8266 设备,它们都来到这个 “邮局”,登记并加入了这个信息交流网络。在 PC 这边,你使用了一个专门的工具,这个工具就像是一个特殊的接待处,它可以设立一个 “接待站点”,也就是 TCP 服务器。这个 “接待站点” 有特定的地址和规则,就像邮局的窗口有编号,并且规定了如何接收和处理信件一样。
2025-04-24 17:07:17
1123
原创 STM32 外部中断EXTI
输入线就是20条外部中断线,可能是GPIO0~15的十六根线,也有可能是其他的线,比如说GPIO进来之后产生了一个信号,进入边沿检测电路,我们通过这个要选择是上升沿还是下降沿(上升和下降是针对电平来说的,下降沿是从高电平到低电平,上升沿是从低电平到高电平),根据是上升沿发生中断还是下降沿发生中断,是配置我们中断发生的条件,串口1的发送,串口1的接收,正常情况下PA9是发送PA10是接收,但是当串口USART1_REMAP = 1 时 ,PB6也能用来当串口1的发送,PB7能用来当作串口1的接收。
2025-04-19 17:24:29
1517
原创 STM32 基本GPIO控制
GPIO(General-Purpose input/output,通用输入/输出接口)用于感知外部信号(输入模式)和控制外部设备(输出模式)简单模块:LED,按键,蜂鸣器,温度传感器,使用一个GPIO就可以完成数据的传输/ 控制复杂一点的模块OLED,FLASH,六轴传感器需要多个引脚组成“协议”传输数据, USART,IIC,SPI等协议MCU单片机大都采用引脚复用模式也就是一个GPIO,可以直接控制它输出高低电平,也可以设置为某个协议的引脚之一。
2025-04-18 15:10:54
1161
原创 STM32 认识STM32
1.原理图用来表示电路板上各个元器件直接的连接原理的图表不同设计人员表示的方法有差异,没有统一的标准在产品调试,维修以及改进过程中有着不可或缺的作用2.网络连接的表达方式用连线表示两个器件有连接用网络标号来表示两根期间有连接。
2025-04-14 17:19:12
1516
原创 C语言 共用体和typedef
有时需要一种数据结构,不同的场合表示不同的数据类型。比如, 如果只用一种数据结构表示学生的“成绩”,这种结构就需要有时是 整数(80、90),有时是字符('A'、'B'),又有时是浮点数(80.5、60.5)。C 语言提供了共用体类型(Union 结构),用来自定义可以灵活变更的 数据结构。它内部可以包含各种属性,但同一时间只能有一个属 性,因为所有属性都保存在同一个内存地址,后面写入的属性会覆 盖前面的属性。这样做的最大好处是 节省内存空间。“共用体”与“结构体”的定义形式相似,但它们的含义是不同的。
2025-04-12 11:34:04
1042
原创 C语言 内存管理
C程序中,不同数据在内存中分配说明:1) 全局变量和静态局部变量——内存中的静态存储区/全局区(随着程序加载到结束才销毁)2) 非静态的局部变量——内存中的动态存储区:stack 栈(例如当调用一个函数时,就加载到栈里了,当函数执行完后函数内部的局部变量就弹出栈)3) 临时使用的数据——建立动态内存分配区域,需要时随时开辟,不需要时及时释放——heap 堆4) 根据需要所需大小的空间,由于未在声明部分定义其为变量或者数组,不能通过变量名或者数组名来引用这些数据,只能通过指针来引用)
2025-04-10 17:08:01
1022
原创 C语言 结构体
定义结构体类型变量方法1.定义一个结构的一般形式为:Struct 结构名成员列表成员列表由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:类型说明符 成员名;2.在声明类型的同时定义变量这种形式的定义一般形式为:Struct 结构体名成员表列}变量名表列;在定义了结构体变量后,系统会为之分配内存单元。例如:student1和student2在内存中各占?字节3.直接定义结构体类型变量其一般形式为:Struct成员表列。
2025-04-10 10:53:19
806
原创 C语言 指针(二)
初始化字符指针时,只是把字符串的首地址赋给指针,而非复制字符串内容。指针仅仅是一个指向字符串起始位置的变量,通过这个指针可以访问和操作字符串。
2025-04-07 11:13:38
965
原创 C语言 指针(一)
C语言中使用指针可以程序简洁,紧凑,高效有效的表达复杂的数据结构动态分配内存得到多余一个的函数返回值在计算机内存中,每一个字节单元(一个字节byte等于八位bit),都有一个编号,称为地址:(这里的0,2000都是地址)(short 在32位机器下占两个字节,所以2000,2001,2002这里两个地址都放的 i )(float 存放一个字节,紧跟 i 存放)编译或函数调用时为其分配内存单元变量是对程序中数据存储空间的抽象。
2025-04-05 17:55:48
1134
原创 C语言 字符数组和字符串
(后面两个就是‘\0’,字符+‘\0’=字符串)(apple00 就是 a0 行数组,apple,分别对应 a00 ,a01 ,a02,a03 ,a04,a05,a06)连接前,两串均以 '\0' 结束,连接后,串 1的 '\0' 取消,新串最后加 ‘\0’strncpy(p,p1,n) ,复制指定长度字符串(复制一个两个三个四个)C语言中没有字符串常量,用字符数组处理字符串,字符串结束表示:‘\0’格式:strcpy(字符串1,字符串2);格式:strcmp(字符串1,字符串2)字符数组1必须足够大。
2025-04-03 19:15:11
953
原创 C语言 数组
1.所谓一维数组是指只有一个下标的数组,它在计算机的内存中是连续存储的2.C语言中,一维数组的说明一般形式如下:<存储类型> <数据类型> <数组名>[<表达式>];(数组名表示内存首地址,是地址常量。sizeof(数组名)是数组占用的总内存空间)(编译时分配连续的内存,内存字节数=数组维数*sizeof(元素数据类型))int main()int a[6],i;for(i=0;i<6;24*///int变量占四个字节,每加一增加四位,而且地址由十六进制表示。
2025-04-02 16:29:42
1024
原创 C语言 控制语句
if语句概述常见形式简化形式if(表达式)语句块,例如:阶梯形式if(表达式1)语句块1else if (表达式2)语句块2else if (表达式3)语句块3else if (表达式4)语句块4嵌套形式if ()if ()语句1else语句2elseif()语句3else语句4注意:1.语句块,当有若干条语句的时候,必须用{.......}括号起来2.表达式1.一般情况下为逻辑表达式或关系表达式如:if(a == b && x == y)printf("%d",a)
2025-04-01 10:35:37
1399
原创 C语言 输入输出
C语言无I/O语句,I/O操作由函数实现#include<stdio.h> (这里的stdio.h是一个数据库)字符输出函数格式:putchar(c)参数:c为字符常量,变量或者表达式功能:把字符c输出到显示器中返回值:正常,为显示的代码值。
2025-03-29 18:14:29
741
原创 C语音 运算符
C语音提供的算数运算符:+、-、*、/、%、++(float、double不能取余)(如果第一个表达式是真的则输出第二个表达式,否则输出第三个表达式)<运算符>为左移(<<)或右移(>>)运算符;位运算符" & "运算符的运算规律如下(和逻辑运算符类似)位运算符" | "运算符的运算规律如下(和逻辑运算符类似)位逻辑异或" ^ "运算符的运算规律:相同为假,不同为真。<左值表达式>=<右值表达式><变量><操作符>=<表达式><表达式2>:<表达式3>位运算符" ~ "运算符的运算规律如下。
2025-03-28 18:33:54
909
原创 C语音 变量
变量在程序中用变量表示,变量名由用户根据其用途任意命名。变量名由。在程序运行时,变量占据存储空间的大小由数据决定变量在内存空间中的首选地址,称为变量的地址。
2025-03-27 15:27:55
258
原创 C语音 常量
常量是指在程序运行期间其数值不发生变化的数据。整形常量通常简称为整数整数可以是十进制,八进制,十六进制例如十进制的数值3356 可以有以下两种不同的表达方式八进制数 06434 (八进制是0开头)十六进制 0xd1c(十六进制是0x开头)
2025-03-26 17:29:00
319
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人