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);//位操作翻转
}
相关推荐
虎王物联14 小时前
STM32 HAL库串口DMA空闲中断:高效接收不定长Modbus数据帧
stm32·单片机·嵌入式硬件·dma·modbus
自小吃多14 小时前
DXF文件导入与PCB板框定义笔记
笔记·嵌入式硬件
SUNNYSPY00114 小时前
AO4402-ASEMI便携设备电源开关AO4402
单片机
单片机仿真设计16 小时前
【proteus仿真】基于 STC89C52 单片机家用智能台灯设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
2601_9507906816 小时前
深圳国产单片机厂商怎么选?技术能力与服务能力检查表
单片机·嵌入式硬件·国产mcu·芯片厂商·深圳单片机·单片机选型
hongmai66688818 小时前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
笨笨饿19 小时前
#135_代码中的类型重定义艺术:从基础封装到函数类型设计
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
西城微科方案开发19 小时前
高精度低功耗胎压计方案——气压表解决方案
单片机·嵌入式硬件
LavaLin0120 小时前
STM32H562RGT6 与 STM32F722RET6 规格对比
stm32
VALENIAN瓦伦尼安教学设备20 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法