前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【开篇】&【STM32】点亮LED

【开篇】&【STM32】点亮LED

作者头像
AXYZdong
发布2022-06-14 15:12:17
3690
发布2022-06-14 15:12:17
举报

先自我介绍一下,本人是一名 大二 自动化专业 工科男 对IT、AI和IoT等相关领域有着极大的兴趣 有一点思考,有一点想法,有一点理性。

文章目录

一、开篇作序

其实本人去年(2019年)就开始学习32了,CSDN也早就用了,一直没有写博客的想法。今年寒假就试着写写,虽然之前没写过,但是想努力写好吧。之前没有写博客的习惯。 但是我感觉有一个这样的习惯挺好的,若干年后,当自己再回头看这些文字时,可能不经意间会感受到当时自己的心路历程,回味着那年今日的自己,怀揣着未来的梦想,践行着对自己的承诺! 在CSDN上以此序作为开篇,序很短,不过👇都是干货。

二、点亮LED

我用的硬件是STM32F407最小系统板,其实它和F103差别不大,只是它的处理速度要快一点吧。(STM32F1 基础性 主频72M &STM32F4 高性能 主频168M)这个开发板是从某宝上买的,价格也不贵,四五十块钱适合学生党。 贴上图片

在这里插入图片描述
在这里插入图片描述

用的是标准库,话不多说直接上代码

1、LED相关配置函数bsp_led.c

 #include "bsp_led.h"
 void LED_GPIO_Config()
 {
 /*开GPIO的时钟*/
 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);  //使能GPIOA时钟
/*定义一个GPIO初始化结构体*/
 GPIO_InitTypeDef GPIO_InitStruct;
 /*配置GPIO初始化结构体的成员*/
 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;    //LED0和LED1对应IO口
 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;             //普通输出模式
 GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;            //推挽输出
 GPIO_InitStruct.GPIO_Speed = GPIO_Low_Speed;           //低频率
 GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;              //上拉
 /*调用GPIO初始化函数,把配置好的结构体成员的参数写入寄存器*/
 GPIO_Init(GPIOA,&GPIO_InitStruct);                     //GPIO初始化
 GPIO_ResetBits(GPIOA,GPIO_Pin_6 | GPIO_Pin_7);        //PA6和PA7口置低
}

GPIO可以根据自己的硬件资源自行配置。

2、与LED相关的头文bsp_led.h

#ifndef _BSP_LED_H
#define _BSP_LED_H
#include "stm32f4xx.h"
void LED_GPIO_Config(void);
#endif

3、主函数main.c

#include "stm32f4xx.h"
#include "bsp_led.h"
void delay(uint32_t count)
{
  for( ;count!=0;count--);
}
main()
{
 LED_GPIO_Config();
 while(1)
 {
   GPIO_ResetBits(GPIOA,GPIO_Pin_6);  
   delay(0x888888);
   GPIO_SetBits(GPIOA,GPIO_Pin_6); 
   GPIO_ResetBits(GPIOA,GPIO_Pin_7);  
   delay(0x888888);
   GPIO_SetBits(GPIOA,GPIO_Pin_7); 
  }
}

这里点亮LED的同时还增加了delay的延时函数,从而产生闪烁的效果。 好啦,代码的主体部分已经展示,至于代码中使用的标准库小伙伴们可自行去官网下载或者我在文末附上此次工程的下载链接。

点亮LED工程压缩包

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、开篇作序
  • 二、点亮LED
    • 1、LED相关配置函数bsp_led.c
      • 2、与LED相关的头文bsp_led.h
        • 3、主函数main.c
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档