基础入门 点亮第一盏led灯

#首先创建一个新的工程文档,然后将会得到一下工程模板


#include "stm32f4xx_hal.h"
#include "can.h"
#ifdef __cplusplus
extern "C"
#endif
void SysTick_Handler(void)
{
    HAL_IncTick();
    HAL_SYSTICK_IRQHandler();
}                                    //以上为头文件加载与系统计时器、中断服务函数初始化

int main(void)                 //主函数,点亮LED灯的重点
{
    HAL_Init();               //HAL库函数的初始化
__GPIOD_CLK_ENABLE();     //初始化GPIO对应组的时钟,需要查看原理图找到想要使能的GPIO口的组别(组别从A-G)
GPIO_InitTypeDef GPIO_InitStructure; //定义一个GPIO初始化结构体,用于配置相关寄存器

GPIO_InitStructure.Pin = GPIO_PIN_12;    //pin脚的设置,需要查看原理图得到对应pin脚编号

GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;  //设置GPIO的模式
GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;    //设置GPIO的速度
GPIO_InitStructure.Pull = GPIO_NOPULL;           //设置GPIO的上下拉状态
HAL_GPIO_Init(GPIOD, &GPIO_InitStructure);     //GPIO的初始化,一样需要改要使能的GPIO的组别

for (;;)
{
    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_SET);
     //调用库函数更改使能的GPIO口的状态,入口参数的组别与引脚编号均需要改变
    HAL_Delay(500);                   //调用HAL delay库函数,延迟一定时间,单位ms
    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_RESET); //同上
    HAL_Delay(500);
}

}