STM32学习记录1_GPIO实现LED灯闪烁

经过自学后完成第一个Keil5程序,记录如下:
芯片为STM32G474RETx

#include "stm32g4xx.h"

static GPIO_InitTypeDef GPIO_InitStructure;

/*设置延时函数,目的使LED灯交替闪烁*/
void delay(uint32_t delay)
{
	while(delay--);
}


/*通过查看电路板后查找原理图确定LD2的引脚在PA5*/
int main(void)
{
//	RCC_AHB1PeriphClockCmd(RCCAHB1Periph_GPIOF,ENABLE);
	
//	GPIO_InitTypeDef gpio_InitStruct;
	
	__HAL_RCC_GPIOA_CLK_ENABLE();//端口A供电,使能端口的硬件时钟
	
	/*初始化GPIO引脚*/
	GPIO_InitStructure.Pin = GPIO_PIN_5;//第5根引脚
	GPIO_InitStructure.Mode= GPIO_MODE_OUTPUT_PP;//输出模式,推挽输出
	GPIO_InitStructure.Speed=GPIO_SPEED_FREQ_VERY_HIGH;//响应速度为高速
	GPIO_InitStructure.Pull= GPIO_PULLUP;//上拉,原理图中好像有下拉电阻,应该选择不需要上下拉,为了安全选择上拉
	
	HAL_GPIO_Init(GPIOA,&GPIO_InitStructure);//调用函数进行初始化
	
	while(1)
	{
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//PA5引脚输出高电平
		delay(500000);//设置延时时间
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);//PA5引脚输出低电平
		delay(500000);//设置延时时间
	}
}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值