0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第四章 独立按键与LED

撞上电子 2022-01-18 09:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第一节 硬件解读

既然大家都学到物联网了,想必这些基础一定很熟悉,关于按键的消抖等基本知识就不再重复,直接看原理图。LED的原理图,上一章也已经讲解了,本章将重点是独立按键。以下是独立按键的原理图:

f904d148-77af-11ec-9437-dac502259ad0.png

从上图可以看出,该按键连接的引脚是PC14,只要按键被按下,PC14变为低电平,反过来也是,只要该引脚为低电平,即可证明该按键被按下。

第二节 配置环境

1,打开stm32cubeMX。

2,选择“File-New project ...”。

f93cb09a-77af-11ec-9437-dac502259ad0.png

3,搜索芯片,芯片型号为:STM32L071KB(大小写都可以)。并选择芯片封装为UFQFPN32的芯片。

f96b301e-77af-11ec-9437-dac502259ad0.png

4,选择A->Z,这里可以看见该芯片的所有的功能。

f994dfd6-77af-11ec-9437-dac502259ad0.png

5,选中“SYS”,勾选“Debug Serial Wire”,可以看见PA13与PA14引脚变成绿色,分别用作SYS_SWDIO和SYS_SWCLK。

f9b9380e-77af-11ec-9437-dac502259ad0.png

6,将PC14和PC15用作输入和输出。如下图配置:

f9e6d71e-77af-11ec-9437-dac502259ad0.png

7,上一章详细解释了GPIO的输出模式(LED为例)的初始化信息,下面来看看GPIO的输入的配置(以为按键输入为例)。

fa0fcbba-77af-11ec-9437-dac502259ad0.png

8,选中“Project Manager-Project”。在Project Name中填写项目的名字(尽可能不要用中文),在Project Location中选择项目保存的路径(尽可能不要用中文),在Toolchain/IDE中选择编译器,蓝桥杯物联网比赛用的是MDK5,所以我们选择MDK-ARM V5。对于项目信息的操作,大家注意看下面2张图。

fa42990a-77af-11ec-9437-dac502259ad0.png

fa64fd56-77af-11ec-9437-dac502259ad0.png

9,点击GENERATE CODE,生成代码。

fa925508-77af-11ec-9437-dac502259ad0.png

10,点击“close”,代码生成成功。

facbab3c-77af-11ec-9437-dac502259ad0.png

第三节 编写代码

1,根据stm32cubeMX生成代码的目录,打开MDK5。

2,点击”Rebuild”,开始编译代码,检查stm32cubeMX生成的代码是否有问题。如下图,0错误,0警告。

fb0b811c-77af-11ec-9437-dac502259ad0.png

3,在while中添加以下语句,注意,需要在BEGIN与END之间添加。

fb482bbc-77af-11ec-9437-dac502259ad0.png

4,点击”Rebuild”,开始编译代码,检查stm32cubeMX生成的代码是否有问题。如下图,0错误,0警告。

fb7c37f4-77af-11ec-9437-dac502259ad0.png

5,点击”Options for Target...“。

fbc1e998-77af-11ec-9437-dac502259ad0.png

6,点击”Debuy“,然后选择下载器”CMSIS-DAP Debugger“,并点击”OK“。

fbfee1ea-77af-11ec-9437-dac502259ad0.png

7,选择“Debug”--“Settings”--“Flash Download”--“Reset and Run”。这样开发板每次上电都自己先复位一次,再跑程序。

fc328ebe-77af-11ec-9437-dac502259ad0.png

8,点击”Download“,开始下载程序并下载成功。

fc663fde-77af-11ec-9437-dac502259ad0.png

第四节 实验现象

实验注意事项:

1,程序语句需要位于程序的BEGIN与END之间。

2,利用USB线将电脑USB口与开发板USB1口连接。

3,CN4所有拨码开关必须选择ON DP档,否则无法下载程序。

实验现象:

LD1,LD4常亮。按下按键,LD5亮;松开按键,LD5灭。

宗旨:

免费的服务,永远的开源

说明:

1.本教程免费,开源,禁止用于任何商业用途,违者必究。

2.本教程版权所属为东莞市东城墨竹公子电子工作室,盗版必究。fd496ea8-77af-11ec-9437-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    244

    文章

    24703

    浏览量

    692371
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【「Altium Designer 25 电路设计精进实践」阅读体验】+本书概览与内容特点介绍

    分也很具备工程实践参考意义,属于进阶部分。 第四章进行了线速设计介绍,一般做消费类产品好像很少遇到,汽车上可能会涉及到第五介绍了原理图设计第六介绍了PCB设计,拼版等都是具备工程实践意义
    发表于 02-14 15:56

    TestMu AI(原LambdaTest)获得2025年第四季度针对自主测试平台的独立研究的认可

    全球首个全栈式智能体化质量工程平台TestMu AI(前身为LambdaTest)今日宣布,其入选独立研究报告《The Forrester Wave™:2025年第四季度自主测试平台》。该报告全面
    的头像 发表于 02-03 16:51 741次阅读

    【瑞萨RA × Zephyr评测】LED按键和UART

    实现在Zephyr操作系统下按键控制 LED 的开关状态,并通过 UART 输出按键事件日志,验证 GPIO 和串口通信功能。
    的头像 发表于 01-10 10:21 2584次阅读
    【瑞萨RA × Zephyr评测】<b class='flag-5'>LED</b>、<b class='flag-5'>按键</b>和UART

    第8 函数进阶与按键(8.1 8.2)

    用户与单片机之间的信息交互需要依赖于两类设备:输入设备和输出设备。前边讲的LED小灯、数码管、点阵都是输出设备,本章就来学习一下最常用的输入设备——按键,同时还会学到一些硬件电路的基础知识与C语言
    的头像 发表于 12-18 11:27 423次阅读
    第8<b class='flag-5'>章</b> 函数进阶与<b class='flag-5'>按键</b>(8.1 8.2)

    嵌入式通信技术转型:MCU+AT向OpenCPU的必然性深度拆解(下篇)

    重重障碍,实现从“外部控制”到“一体自治”的全面跃迁吗? 第四章:OpenCPU相较MCU+AT的七大核心优势 当我们把“通信模组+MCU”变成“可独立运行的模组”,所获得的不只是省下一颗芯片,而是系统层面的范式升级。 OpenCPU的核心价值不在于“少一颗MCU”, 而
    的头像 发表于 12-03 16:54 430次阅读
    嵌入式通信技术转型:MCU+AT向OpenCPU的必然性深度拆解(下篇)

    中兴通讯举办第四届质量峰会

    近日,以“数智引领 质启新程”为主题的第四届中兴通讯质量峰会在深圳、北京、福州三地联动举办。
    的头像 发表于 10-10 16:11 1013次阅读

    【「AI芯片:科技探索与AGI愿景」阅读体验】+内容总览

    ,其中第一是概论,主要介绍大模型浪潮下AI芯片的需求与挑战。第二和第三分别介绍实现深度学习AI芯片的创新方法和架构。以及一些新型的算法和思路。第四章是全面介绍半导体芯产业的前沿技
    发表于 09-05 15:10

    【「开关电源控制环路设计:Christophe Basso 的实战秘籍」阅读体验】+第四章 光电耦合器和TL431

    设计2型补偿器 2、仿真 3、一种无快速通道的2性补偿器 、TL431 和3型补偿器 1、用TL431设计3型补偿器 这都是精华,实在不知道该怎么综合总结了,只能复制出来供大家欣赏了 2
    发表于 08-17 20:49

    Wolfspeed推出第四代高性能碳化硅MOSFET

    Wolfspeed 推出第四代 (Gen 4) 1200 V 车规级碳化硅 (SiC) 裸芯片 MOSFET 系列,专为严苛的汽车环境设计。Wolfspeed 第四代高性能碳化硅 MOSFET,可在 185°C 下持续工作,助力动力总成系统实现最大性能。
    的头像 发表于 08-11 16:54 3379次阅读

    【「DeepSeek 核心技术揭秘」阅读体验】--全书概览

    讲解Deepseek的使用方法 第三 深入剖析Deepseek-V3的模型架构、训练框架、推理阶段优化、后训练优化等关键技术 第四章关于DeepSeek-R1的技术剖析 第五 从宏观角度分析
    发表于 07-21 00:04

    初级工程师PCB设计技巧(PPT版)

    目录第一:PCB 概述第二:PCB 设计流程及PCB Layout 设计第三: PROTEL 常用操作第四章: PCB Layout 技巧 获取完整文档资料可下载附件哦!!!!
    发表于 06-26 15:50

    电源设计中功率因数校正讲解

    不同的临界导电模式拓扑(恒定输出和跟随升压版本)的设计指南、讨论和显著的效果。 第四章包括两种不同的临界导电模式拓扑(传统的CCM升压和CCM隔离反激)的设计指南、讨论和显著的效果。 第五提供从相同
    发表于 06-25 15:58

    【「# 运算放大器参数解析与LTspice应用仿真」阅读体验】+全书概览与第一阅读分享

    拿到本书之后,看到本书不厚 但是翻开目录可以看到,实际内容还是很丰富的。 第一介绍了运放的基础知识 第二介绍了运放的参数解析 第三介绍了专用放大器 第四章介绍了模拟电路
    发表于 05-22 23:18

    第六 GPIO输入——按键检测

    本篇文章讲述了如何在W55MH32上实现按键输入检测,以及按键输入检测的注意事项、实现方式和代码讲解等。掌握了按键检测方式之后,我们就可以用按键控制我们想要实现的其他功能啦。
    的头像 发表于 05-22 16:41 1125次阅读
    第六<b class='flag-5'>章</b> GPIO输入——<b class='flag-5'>按键</b>检测

    第四章 什么是寄存器

    本篇文章我们讲解了寄存器的概念、地址映射和寄存器操作等内容,内容比较干,大家有个概念即可,不要求全部熟记掌握,有需要时可重复查阅观看。下一篇我们将开始进行实操内容,通过控制单片机的GPIO来点亮一颗LED,敬请期待!
    的头像 发表于 05-21 14:23 1648次阅读
    <b class='flag-5'>第四章</b> 什么是寄存器