第三章 一个LED闪烁

发布者:不染尘埃最新更新时间:2024-01-10 来源: elecfans关键字:LED闪烁  STM32  CubeMX配置 手机看文章 扫描二维码
随时随地手机看文章

第一节 硬件解读

先看看原理图:

4bc70a80-2f7f-11ee-bbcf-dac502259ad0.png


开发板上面芯片为:STM32L071KBU6,其中2号引脚(PC15)控制这一个LED,名为LD5,所以我们只需要控制STM32芯片的2号引脚(PC15)就可以控制LED啦。注意:LED的一侧为VDD_NODE,也就是3.3V,经过510欧姆的电阻之后,到LED的1号脚,所以我们只需要控制STM32的2号脚就可以来控制LED。STM32的2号脚为低电平,LED亮;反之则灭。


第二节 CubeMX配置

第一步:双击打开STM32CubeMX,,如下图,新建项目。注意:新建项目本教程只介绍一次,以后项目的建立不在重复。

4be6dbf8-2f7f-11ee-bbcf-dac502259ad0.png

第二步:在英文状态下搜索芯片:STM32L071KBU6,选后选择对应的芯片即可。注意:搜索芯片时,确保输入法在英文的状态下;选择芯片的时候,可以选择后缀带有“TR”的,2者芯片完全一致,不影响比赛。

4c0ea336-2f7f-11ee-bbcf-dac502259ad0.png

第三步:配置时钟为32MHZ,如下图。注意:本教程默认配置时钟为32MHZ,以后不在重复。如果大家对时钟树有疑问的,请大家联系微信公众号管理员,如果人多,我们就单独出一期时钟树的教程。

4c43c78c-2f7f-11ee-bbcf-dac502259ad0.png

第四步:配置下载器,如下图。注意:本教程下载器配置是配置一遍,后续教程将不再重复。

4c6a0992-2f7f-11ee-bbcf-dac502259ad0.png

第五步:配置STM32的PC15,也就是2号引脚为GPIO_Output,并且配置标签为Zsdz_LED。

4c9f8126-2f7f-11ee-bbcf-dac502259ad0.png

第六步:选择项目信息,如下配置:2处是项目的名字;3处是项目的路径;4处是编译器;5处是编译器版本。注意:项目路径不能包含中文等其他非法字符;编译器一定要选择MDK-ARM;编译器版本一定要选择v5。后续教程将不在重复本步操作。

4cd434e8-2f7f-11ee-bbcf-dac502259ad0.png

第七步:如下图,将3,4处的按钮勾选,点击5处,生成Keil工程。注意:后续教程将不在重复本步操作。

4d18f95c-2f7f-11ee-bbcf-dac502259ad0.png

第八步:点击上步的5处之后,会有一个对话框,意思分别是:打开项目文件夹位置;打开项目;关闭本窗口。注意:这里灵活处理,打开文件夹和项目都可以。后续教程将不在重复本步操作。

4d38bbc0-2f7f-11ee-bbcf-dac502259ad0.png

第三节 MDK代码

第一步,编译代码,检查STM32CubeMX生成的代码是否正常。如下图,点击1处编译,之后在2处可以看见:0错误,0警告。注意:后续教程将不在重复本步操作。

4d5c3cb2-2f7f-11ee-bbcf-dac502259ad0.png

第二步:配置下载器,这一步很多步骤,希望大家看自己,一步一步来。注意:不要忘记点击“OK”,后续教程将不在重复本步操作。

4d873804-2f7f-11ee-bbcf-dac502259ad0.png

第三步:编写代码,代码如下:注意:代码要存放在USER CODE BEGIN 和USER CODE END之间。

4dbc7ae6-2f7f-11ee-bbcf-dac502259ad0.png

第四步:编译检查代码并下载。点击1处编译代码,之后在2处可以看见0错误0警告。代码没有问题之后,点击3处下载代码,在4处看见Flash Load finished at xxxx,就证明代码下载成功。注意:后续教程将不在重复本步操作。

4de7a20c-2f7f-11ee-bbcf-dac502259ad0.png


第四节 实验现象

注意:下载程序的时候,请选择A开发板。

现象:LD5以500ms为间隔闪烁。


关键字:LED闪烁  STM32  CubeMX配置 引用地址:第三章 一个LED闪烁

上一篇:如何进行多个定时器主从级联同步输出详细配置示例说明
下一篇:unity在stm32上的使用

推荐阅读最新更新时间:2024-11-13 12:15

STM32单片机在DLP驱动电路的应用研究
  Stm32是32位单片机,速度快,功能强,已被越来越多的应用于各类电子产品设计中,大功率RGB三色LED的体积小、重量轻、色彩饱和度好,已成为投影仪、背投电视等显示仪器首选的新型光源。为了得到结构更简单,携带更方便的仪器,本文在现有技术的基础上用stm32改进了DMD投影仪的驱动电路,用三色LED替代了传统DMD投影仪中的分立LED光源。与传统的DMD显示相比,该系统具有结构简单、体积小、重量轻、易于编程控制、成本低、节能环保等优点。   DLP投影技术是应用美国德州仪器公司开发的数字微镜元件--DMD(Digital Micromirror Device)作为主要关键处理元件以实现数字光学处理过程的技术。DLP显示的色彩清晰
[单片机]
<font color='red'>STM32</font>单片机在DLP驱动电路的应用研究
STM32开发笔记74: STM32L0低功耗唤醒后的时钟选择
本文介绍STM32L0系列单片机低功耗唤醒后的时钟选择。 参看已有的低功耗例程,发现都使能了HSI时钟,一致没有深究其中的具体原因,今天把它搞明白了,现记录如下: 先看一下,使能低功耗的函数: void CTarget::EnableLowPower(void) { HAL_PWREx_EnableUltraLowPower(); HAL_PWREx_EnableFastWakeUp(); __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_HSI); DisableAllIO(); } 第1句使能超低功耗,第2句使能快速唤醒,第3句选择唤醒后的主始终,第4
[单片机]
嵌入式STM32学习:I2C-读写EEPROM2
bsp_i2c_ee.h #ifndef __I2C_EE_H #define __I2C_EE_H #include stm32f4xx.h /* AT24C01/02每页有8个字节 */ #define I2C_PageSize 8 /* AT24C04/08A/16A每页有16个字节 */ //#define I2C_PageSize 16 /* STM32 I2C 快速模式 */ #define I2C_Speed 400000 /* 这个地址只要与STM32外挂的I2C器件地址不一样即可 */ #define I2C_OWN_ADDRESS7
[单片机]
Keil MDK STM32系列(四) 基于抽象外设库HAL的STM32F401开发
概述 Windows下使用Keil MDK5进行 STM32F401 的开发和编译, 配合ST-LINK工具进行烧录, 使用硬件抽象库HAL. STM32F401硬件环境和连接 略, 与SPL环境相同 STM32F4 硬件抽象库 STM32F4xx_HAL_Driver 直接下载 STM32CubeF4 MCU 固件开发包 前往 https://github.com/STMicroelectronics/STM32CubeF4 点击Code - Download ZIP 文件比较大, 有接近300M, 解压备用 当前版本是v1.26.2. ST硬件抽象库HAL结构说明 STM32CubeF4Drivers 目录结构
[单片机]
STM32--CAN总线应运
CAN 总线在控制领域使用的非常广泛,如今大多数CPU芯片外围都扩展CAN接口。本文重点介绍以STM32F103E系列芯片为基础介绍CAN 总线的使用方法。 1. 硬件基础 CAN总线工作需要两根数据线,RX和TX,即为输入总线和输出总线。一般CPU与外界通信需要接一个驱动芯片(这点很像UART接口),常用的CAN芯片主要有:SN65VHD230、PCA82C250T等,本系统使用SN65VHD230作为CAN接口芯片。而CPU提供的CAN接口为CAN_L和CAN_H。 2. 软件设计 在进行软件设计时,我们首先来看这样的一个结构体: typedef struct { uint32_t StdId;
[单片机]
STM32学习日志——RTC实时时钟
以前刚买手机时,有一个困惑,为什么时钟拔掉电池后时间就暂停了,而手机拔掉电池后,时间照样在走,为了证明是否是联网的原因,将网络关掉后还是一样。后来学了单片机才明白系统有一个实时时钟,由一个小纽扣电池供电。手机应该也是类似的原因。 首先RTC的时钟源由RCC_BDCR的RTCSEL位控制,一般选择LSE振荡器,接着通过RTCPRL位将其分频,假设LSE为32.768kHZ,则PRL写入32767可得到周期为1秒的信号。而RTC_DIV是一个递减的计数器,用PRL的数据装载,每次归零后重新装载,通过读取DIV的当前值,可以获得更精确的时间,比如DIV的当前值为3276,说明还有(3276/32767=0.1s)完成一个周期,说明这个周
[单片机]
STM32学习笔记之ADC
一、基础知识 1. 18个通道,可测16个外部和2个内部信号源,可设置成单侧、连续、扫描、间断模式执行 2. 12位精度 3. 扫描模式,通道0到通道n的自动转化 4. 自校准 5. 按通道配置采样时间 6. 间断模式? 7. 双ADC模式? 8. 供电要求2.4~3.6V 9. 输入范围0~3.6V 二、功能描述 1. 通道选择: STM32的每个ADC模块通过内部的模拟多路开关,可以切换到不同的输入通道并进行转换。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。 有2种
[单片机]
GD32代码移植STM32(一)
GAIWEI例子:GD32F103移植STM32F103 使用相同FLASH和管脚数量相同的芯片,例如GDF103C8T6移植STM32F103C8T6程序。虽然两个款芯片的寄存器地址以及架构基本相同。但是需要注意的是GD32F10x主频是108兆,但是STM32F10x主频是72兆。所以需要针对以RCC时钟进行修改。 1.先将芯片的选项进行修改:查找对应芯片。 2.将STM32的启动文件替换成GD的启动文件。 3.修改时钟相关配置。 打开stm32f10x.h文件,#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*! Time out for HSE start up
[单片机]
GD32代码移植<font color='red'>STM32</font>(一)
热门资源推荐
热门放大器推荐
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved