打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
《stm32,我来了》小白教程之第一章:点亮LED灯
本节课配套笔记和源代码:链接: https://pan.baidu.com/s/1IKvOipEgr9k8QLQSfKqnQg 提取码: dh44
写在前面:
本教程是基于野火指南者这个开发板的,当然,你也可以去淘宝买个单片机最小系统来购买相应的模块,来结合面包板进行单片机的学习。

关于野火及其官方资料:
         在此之前请确定KEIL 5这个软件安装完毕。(资料盘里有所需要的驱动,软件,注册机这些,群里面也有,网上也有很多现成的安装教程)
        通常,市面上的教程都是从搭建一个工程文件开始的,本教程想用一种“超越”的方式,来快速入门,有问题?先放下,我们要在最短的时间里,通过简单的C语言编程,出现一个成果。让我们先从点亮一个LED灯开始!
        我打算的是从浅入深地学习,在最短的时间内和保证大家能够理解的情况下,点亮LED 灯,实现这样的一个实验效果,或许你在编程的过程中有疑问,别着急,在点亮LED灯之后,我将详细讲解每个细节。
注意:此教程是基于野火指南者这个开发板,如果是其他的开发板需要改变配置文件,请参照这篇文章: 链接:https://pan.baidu.com/s/1Kx6mJJYX_1w1c4LkumLBHg 提取码:9gqj




跟我一步一步来操作,干就完了!

首先,我们到01点亮LED灯\项目模板\Project\RVMDK(uv5)这个文件夹里找到
1、打开项目文件
2、打开main主函数

3、正式打代码咯!
1、定义一个GPIO(通用的输入输出头文件)的结构体变量。
对于结构体关键字是不是有点看不懂?实际上他就是一个重定义过的关键字而已,本质上还是struct,我们可以去看看他的源代码:

英文好的同学可以试着翻译一下,我们可以看到这个结构体一共有三个结构体成员:Pin引脚,Speed速率和模式,我们即将要给他们赋值。

2、打开相关GPIO的时钟
  1. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
复制代码
3、配置GPIO并初始化。
模式为推挽输出
  1. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
复制代码
根据原理图我们知道这个电路板LED挂载在PB5的引脚上。
PB5的含义是GPIOB端口的第5个引脚

  1. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
复制代码
GPIO的速率
  1. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
复制代码
这个初始化函数
  1. GPIO_Init(GPIOB,&GPIO_InitStructure);
复制代码

效果是这样的:
上图的GPIO_Pin_5等赋的值不知道哪里来的,还可以像之前的操作一样,直接Go To Defination of “XXX”,找到代码的定义部分。
到这里或许你不懂推挽输出,速率这些词是啥意思,别急,都说别急了哦,请跟着我打完代码,之后我会做出解释。

4、将相关的引脚拉低
  1. GPIO_ResetBits(GPIOB,GPIO_Pin_5);
复制代码
另一端接3.3V的电源,另一边和GPIO相连的那一端应该拉低才能使LED导通从而点亮。
成功啦!!!!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
为什么程序能操控硬件软件和硬件之间的桥梁是什么一篇就够
易智联Lora评估板评测:正规的开发环境搭建及点亮LED
嵌入式最基础的GPIO接口操作了解一下!
STM32 基础系列教程 3 – 外部中断
STM32 基础系列教程 1
【青风带你学stm32f051系列教程】 第1课 点亮你的第一个LED灯 | 爱板网
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服