STM32学习心得(二)点亮LED灯
2019-05-28 20:37
141 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44079386/article/details/90646601
STM32学习心得(二)点亮LED灯
在创建好工程模板后,就可以开始真正进入STM32的学习。手下那当然是试着点亮一个LED灯。
首先在USER目录下创建一个空文件夹,并命名为bsp_led(bsp的意思是板级支持包,即该代码仅支持这块板子),进去文件夹,新建两个文件,分别是bsp_led.c以及bsp_led.h
打开工程,把.c文件添加进工程中,同时在路径中设置好.h文件的路径
工程建立完成后,双击打开bsp_led.h,在文件中写入以下宏定义
#ifndef __BSP_LED_H #define __BSP_LED_H #include"stm32f10x.h" #define LED_G_GPIO_PIN GPIO_Pin_0 //定义绿色灯所在的引脚 #define LED_G_GPIO_PORT GPIOB #define LED_G_GPIO_CLK RCC_APB2Periph_GPIOB void LED_GPIO_CONFIG(void); #endif
然后打开bsp_led.c文件,写入以下代码
// bsp: board support package 板级支持包 //即该程序只支持这块板子,不支持别的板子 #include "bsp_led.h" void LED_GPIO_CONFIG(void) { //第一步:新建一个初始化的结构体 GPIO_InitTypeDef GPIO_InitStruct; //向结构体内添加成员参数 GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//设置为推挽输出 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; //第二步:调用stm32f10x_gpio.c中的初始化函数 //第一个参数为要设置的端口名,第二个参数为上述定义中的结构体指针 GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct); //第三步打开时钟,找到RCC固件库中对应的函数 //第一个参数为要配置的引脚,第二个为使能DISABLE/ENABLE RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE); }
最后进入main.c文件,写入
#include "stm32f10x.h" #include"bsp_led.h" int main(void) { while(1) { LED_GPIO_CONFIG(); //GPIO_SetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN); //GPIO_ResetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN); } }
编译后下载进板子里,over
相关文章推荐
- STM32学习笔记——控制GPIO输出点亮LED灯(直接操作存储器)
- STM32学习第一课——新建工程与点亮LED灯
- STM32学习(一)——点亮一个LED灯
- STM32学习笔记1:点亮第一盏LED灯
- stm32学习的日子-构建库函数雏形(第1节)—寄存器结构体定义控制点亮G0Kitv2.1 LED2和LED4
- stm32学习笔记:新建工程流程,点亮led灯
- STM32学习笔记-点亮第一个led
- STM32学习笔记之点亮LED灯
- [转载]STM32学习笔记——控制GPIO输出点亮LED灯(直接操作存储器)
- STM32学习之点亮LED
- STM32学习之第一个程序(点亮LED)
- Stm32学习笔记一————库函数法点亮LED灯
- 【stm32】学习笔记(2)12月28号----------点亮一位LED
- STM32学习笔记1-点亮LED
- STM32 自建库点亮LED
- STM32_外部中断之按键控制点亮LED灯
- JZ2440裸机点亮LED【学习笔记】
- STM32-点亮LED灯(GPIO配置)
- STM32点亮LED(熟中新认识)
- STM32学习第一个程序,LED灯