STM32 GPIO

1.GPIO的8种工作模式

输入浮空 输入上拉 输入下拉 模拟输入

开漏输出 推挽式输出 推挽式复用功能 开漏复用功能

2.位设置寄存器的必要性

没有寄存器 位操作的方法是:读取8位寄存器的值--->与或运算--->重新写入

如果在与或运算时发生中断改变了值 那么重新写入的就是错误的,为避免出现这种情况需要硬件寄存器位操作

3.GOPIO配置流程

1.开时钟

2.初始化设置 :配置GPIO_InitTypeDef结构体(模式 引脚 上拉下拉 开关频率)

3.配置接PB8的LED灯

结构体的参数 可全局搜索定义@后的内容

4.配置代码

c 复制代码
void led1_init(void) //LED1初始化
{
	__HAL_RCC_GPIOB_CLK_ENABLE(); //打开GPIOB时钟树
	
	GPIO_InitTypeDef gpioinit_struct;
	gpioinit_struct.Mode = GPIO_MODE_OUTPUT_PP;//推挽
	gpioinit_struct.Pin = GPIO_PIN_8;
	gpioinit_struct.Pull = GPIO_PULLUP;//上拉
	gpioinit_struct.Speed = GPIO_SPEED_FREQ_HIGH;//高频
	
	HAL_GPIO_Init(GPIOB, &gpioinit_struct);
}
void led1_on(void)
{
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);//位操作输出高
}
void led1_off(void)
{
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);
}
void led1_toggle(void)
{
	HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);//位操作翻转
}
相关推荐
深圳市恒锐丰科技杨生4 分钟前
EG1192L 零功耗使能集成上管非同步降压 DC‑DC|屹晶 EGmicro
嵌入式硬件·硬件工程
JNX_SEMI8 分钟前
HTD8239 5.5V~36V宽压H桥驱动:适配12V/24V主流电机供电系统
单片机·嵌入式硬件
2401_8628808224 分钟前
51单片机 --- GPIO、中断、定时器、PWM
单片机·嵌入式硬件·51单片机
零依赖极客37 分钟前
《30 天手搓 ARM 架构零依赖纯 C 推理引擎》课程介绍与大纲
c语言·开发语言·arm开发·人工智能·嵌入式硬件·ai编程
国科安芯38 分钟前
基于ECC加固的抗辐射MCU在卫星载荷数据管理中的应用分析
单片机·嵌入式硬件·mcu·抗辐射·ecc加固·卫星数据管理
深圳市恒锐丰科技杨生1 小时前
EG3033 三相 P‑N MOS 栅极驱动芯片|屹晶 EGmicro
嵌入式硬件·硬件工程
linx2951 小时前
单元三 · 那 C 的底层知识怎么办
c语言·开发语言·数据结构·c++·嵌入式硬件
abc light2 小时前
单片机(1)
单片机·嵌入式硬件
云泽8082 小时前
STM32 USART 详解(四):数据帧及标志位的收发机制与寄存器深度剖析
stm32·单片机·嵌入式硬件
linx2952 小时前
单元四 · 对称认知·上:内存与指针
c语言·开发语言·数据结构·嵌入式硬件·算法