自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32_按键检测(GPIO输入)

2、调用uint8_t GPIO_ReadInputDataBit函数,检测某个端口引脚的电平,高点品返回值为1.低电平返回值为 0。1、uint8_t Key_Scan:指的是接受一个char类型的参数,并返回一个char类型的值。初始化两个端口,端口对应的引脚,时钟AHB1,编写配置(config)函数。三、编写按键控制灯的函数。

2025-04-12 17:25:34 606

原创 stm32F407_固件库点亮LED

当这个头文件被同一个文件第二次“#include”包含的时候,由于有了第一次包含中的“#define __LED_H”定义,这时再判断“#ifndef__LED_H”, 判断的结果就是假了,从“#ifndef”至“#endif”之间的内容都无效,从而防止了同一个头文件被包含多次,编译时就不会出现“redefine(重复定义)”的错误了。2)设置推挽输出后,上下拉不产生影响(因为推挽输出是强制输出高低电平),ODR复位后默认输出低电平,采用推挽输出后直接输出低电平,与上下拉电阻无关。

2025-04-05 17:33:40 638

原创 stm32F407_标准库 3/18

例如“SystemInit”函数,用于上电后初始化时钟,该函数的定义就存储在system_stm32f4xx.c文件,调用库的这个SystemInit函数后, 系统时钟被初始化为180MHz,如有需要可以修改这个文件的内容,设置成自己所需的时钟频率。我们写STM32F4的工程,必须用到其中的四个文件:core_cm4.h、core_cmFunc.h、corecmInstr.h、core_cmSimd.h, 其它的文件是属于其它内核的,还有几个文件是DSP函数库使用的头文件。

2025-03-18 17:57:08 762 1

原创 stm32F407_构建库函数 3/15

根据需要配置GPIO的模式,对这个结构体的各个成员进行赋值,然后把这个变量作为“GPIO初始化函数”的输入参数, 该函数能根据这个变量值中的内容去配置寄存器,从而实现GPIO的初始化。遇到该关键字声明的变量,编译器不会对代码优化,实现对特殊地址的稳定访问。使用uint16的原因:已知BSRRH共有16位,16位可以防止后面位数的寄存器数据溢出归零(写法安全)用结构体定义外设的基地址,结构体的成员是寄存器,每个结构体成员的地址相差4位数(累加)再用pos和pinpos的写法以循环的方式来进行引脚的设置。

2025-03-16 16:35:53 363

原创 STM32F407_1 3/12

推挽输出:输入高电平,输出高电平。开漏输出:输入低电平,输出高电平。一、推挽输出和开漏输出。

2025-03-13 18:54:26 251

原创 Linux学习日记3:按键实验

1、设置UART1_CTS复用为GPIO1_IO18(UART1_CTS可以作为IO18的引脚)、对应不同位数的手册内容(上拉电阻(默认状态为低电平有效),关闭(驱动)输出做输入)将IO18设置为F080,二进制为1111 0000 1000 0000。高电平为未按下,低电平为按下,案件key0链接在UART1_CT引脚上。2、设置UART1_CTS电器属性。3、配置UART1_CTS输入模式。

2025-03-03 22:12:28 146

空空如也

空空如也

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

TA关注的人

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