用寄存器点亮灯

①查看灯引脚

由开发板的原理图可知:LED0灯对应PF9引脚。

②查看手册,存储器映射定义好对应寄存器的地址

stm32f4xx.h

cs 复制代码
#define PERIPH_BASE      ((unsigned int)0x40000000)
	
#define AHB1PERIPH_BASE  (PERIPH_BASE + 0x00020000)

#define GPIOF_BASE       (AHB1PERIPH_BASE + 0x1400)
#define GPIOF_MODER 	 *(unsigned int*)(GPIOF_BASE+0x00)
#define GPIOF_OTYPER   *(unsigned int*)(GPIOF_BASE+0x04)
#define GPIOF_OSPEEDR *(unsigned int*)(GPIOF_BASE+0x08)
#define GPIOF_PUPDR *(unsigned int*)(GPIOF_BASE+0x0C)
#define GPIOF_IDR *(unsigned int*)(GPIOF_BASE+0x10)
#define GPIOF_ODR *(unsigned int*)(GPIOF_BASE+0x14)
#define GPIOF_BSRR 		 *(unsigned int*)(GPIOF_BASE+0x18)
#define GPIOF_LCKR *(unsigned int*)(GPIOF_BASE+0x1C)
#define GPIOF_AFRL *(unsigned int*)(GPIOF_BASE+0x20)
#define GPIOF_AFRH *(unsigned int*)(GPIOF_BASE+0x24)
	
#define RCC_BASE 		(AHB1PERIPH_BASE + 0x3800)
#define RCC_AHB1ENR 	*(unsigned int*)(RCC_BASE+0x30)

	

③防止编译报错

在main文件里,定义空白函数,骗过编译器不报错。

④查看相关手册,定义引脚

(1)使能GPIOF时钟

(2)将PF9引脚定义成通用输出模式

可知:MODER9设置01

(3)将PF9设置成输出推挽模式

(4)设置高速输出

(5)PF9设置上拉

(上下拉模式不影响引脚电平变化,但上拉能小幅提高电流输出能力)

(6)设置电平

查看原理图可知设置低电平灯亮

初始化:

循环:

⑤代码

main.c

cs 复制代码
#include "stm32f4xx.h"


void SystemInit(void)
{
	
}

/*******************************************************************************
* 函 数 名         : main
* 函数功能		   : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/

int main()
{
	RCC_AHB1ENR |= (1<<5);
	GPIOF_MODER &= ~(0x03<<9*2);
	GPIOF_MODER |= (1<<9*2);
	GPIOF_OTYPER &= ~(1<<9);
	GPIOF_OTYPER |= (0<<9);
	GPIOF_OSPEEDR &= ~(0x03<<9*2);
	GPIOF_OSPEEDR |= (0x03<<9*2);
	GPIOF_PUPDR &= ~ (0x03<<9*2);
	GPIOF_PUPDR |= (0x01<<9*2);
	GPIOF_BSRR &= ~(1<<(16+9));
	GPIOF_BSRR &= ~(1<<(9));
	while(1)
	{
		//点亮LED0灯,PF9
		GPIOF_BSRR |= (1<<(16+9));
		
	}
}
相关推荐
恒锐丰科技林技术员1 小时前
SS6841T 双通道 H 桥驱动芯片:大电流集成电机驱动优选方案
单片机·嵌入式硬件
打工陈1 小时前
器件知识——(1)磁珠与电感
嵌入式硬件·智能硬件·设计规范
乘凉~3 小时前
【Keil5】Keil5 安装和免费使用过程记录
stm32·单片机·嵌入式硬件
上天肖4 小时前
嵌入式硬件查漏补缺
嵌入式硬件
独孤九剑打醒他6 小时前
【原创开源】双层Master‑Worker软硬协同调度架构:从根源解决分布式数据一致性难题
前端·嵌入式硬件·架构·前端框架·硬件工程
驴友花雕14 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
日拱一卒的小田20 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
cardinal_50821 小时前
STM32MP157F-DK2开发板构建交叉编译链
stm32·单片机·嵌入式硬件
小羊先生car21 小时前
F429-HAL-RS485(回环/双机实验)(2026/8/16)
c语言·单片机·嵌入式硬件·软件构建
木白CPP21 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件