姓名: 王晨晨 日期: 7.25
今日学习任务
通过查询固件库编程点亮LED灯。
今日任务完成情况
已完成
今日开发中出现的问题汇总
无
今日未解决问题
无
今日开发收获
WEAK :表示弱定义,如果外部文件优先定义了该标号则首先引用该标号,如果外部文件没有声明也不会出错。这里表示
复位子程序可以由用户在其他文件重新实现
IMPORT :表示该标号来自外部文件
EXTERN 关键字类似。这里表示 SystemInit 和__main 这两个函数均来自外部的文件。
GPIO_SetBits(GPIOx,GPIO_Pin_x)就可以实现对GPIOx的pinx位为高电平
自我评价
自己在固件库中找有点难。
其它
代码:
main.c
#include "stm32f4xx.h"
#include "bsp_led.h"
int main(void)
{
GPIO_LED_Config();
while(1)
{
GPIO_SetBits(GPIO_LED_Blue,GPIO_LED_PIN_Blue);
}
}
bsp_led.c
#include "bsp_led.h"
void GPIO_LED_Config()
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphClockCmd(GPIO_LED_RCC,ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOC,&GPIO_InitStruct);
}
bsp_led.h
#ifndef _BSP_LED_H
#define _BSP_LED_H
#include "stm32f4xx_gpio.h"
#define GPIO_LED_RCC RCC_AHB1Periph_GPIOC
#define GPIO_LED_Blue GPIOC
#define GPIO_LED_PIN_Blue GPIO_Pin_1
void GPIO_LED_Config(void);
#endif