用寄存器点亮灯

①查看灯引脚

由开发板的原理图可知: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));
		
	}
}
相关推荐
╰⋛⋋⊱⋋翅膀⋌⊰⋌⋚╯40 分钟前
ESP32-NVS保存
单片机
Hall_IC2 小时前
意法半导体STM32F103RCT6分销商
stm32·单片机·嵌入式硬件
世微 如初2 小时前
基于AP5160的大功率LED恒流驱动设计:原理分析与外围计算
驱动开发·单片机·芯片
老李的森林3 小时前
嵌入式开发--STM32用DMA+IDLE中断方式串口接收不定长数据--之2
stm32·单片机·嵌入式硬件·串口·dma·idle中断
三易串口屏4 小时前
实验2 实时显示单片机的参数(整数、小数、中文 自定义协议方式)
单片机·物联网·mongodb·自动化·串口屏·医疗器械·工控设备
高速上的乌龟5 小时前
Lattice LFCPNX-100 HSB+Fpga开发详解: MAC+PCS以太网SFP光口传输
单片机·嵌入式硬件·fpga开发
易水寒陈5 小时前
单片机的hardfault打印信息定位错误
单片机
振浩微433射频芯片5 小时前
告别“遥控失灵”:如何评估国产433芯片在智能家居领域的可靠性?
网络·单片机·嵌入式硬件·物联网·智能家居
互联科技报5 小时前
极海APM32F427高性能MCU赋能中高端PLC,筑牢工业自动化控制核心
单片机·嵌入式硬件·自动化
天天爱吃肉82186 小时前
新能源汽车测试工程师工作笔记:VCU输出PWM波常见问题排查
笔记·功能测试·嵌入式硬件·汽车