stm32点亮led灯用到的模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32点亮led灯用到的模块相关的知识,希望对你有一定的参考价值。
参考技术A,模块如下:
1
把工程项目模板重新复制一份,改名为“点亮一个LED灯”
在USR文件夹下创建led文件夹
led文件夹下面新建以下两个文件
bsp_led.c
bsp_led.h
2
然后我们用keil打开这个工程项目
点击如下图圈上的图标
3
新建一个led文件夹
然后我们把刚新建的文件导入到led文件夹
4
在bsp_led.h文件里
#ifndef __BSP_LED_H__
#define __BSP_LED_H__
#include "stm32f10x.h"
#define LED1_GPIO_CLK RCC_APB2Periph_GPIOB
#define LED1_GPIO_PORT GPIOB
#define LED1_GPIO_PIN GPIO_Pin_5
void LED_GPIO_Config(void);
#endif
5
在bsp_led.c文件里
#include "./led/bsp_led.h"
void LED_GPIO_Config(void)
GPIO_InitTypeDef GPIO_InitStruct;
//打开外设时钟
RCC_APB2PeriphClockCmd(LED1_GPIO_CLK,ENABLE);
//配置初始化结构体
GPIO_InitStruct.GPIO_Pin = LED1_GPIO_PIN;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;
//调用外设初始化函数,把配置好的结构体成员写到寄存器里面
GPIO_Init(LED1_GPIO_PORT,&GPIO_InitStruct);
6
在main.c文件里
#include "./led/bsp_led.h"
void delay(uint32_t count);
int main(void)
LED_GPIO_Config();
while(1)
GPIO_SetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);
delay(0xfffff);
GPIO_ResetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);
delay(0xfffff);
void delay(uint32_t count)
for (;count!=0;count--);
以上是关于stm32点亮led灯用到的模块的主要内容,如果未能解决你的问题,请参考以下文章
史上最全的LED点灯程序—使用STM32FPGALinux点亮你的LED灯