【致敬嵌入式攻城狮第2期活动预热征文】蜂鸣器加流水灯按键检测的实现
一、实验目的
实现按键按下去的时候蜂鸣器响,并且有流水灯效果,当按下另一个按键的时候,关闭蜂鸣器和流水灯。
二、实验原理
图 5.2.1 蜂鸣器原理图
蜂鸣器与 STM32F4 连接原理图图中我们用到一个 NPN 三极管(S8050)来驱动蜂鸣器,R61 主要用于防止蜂鸣器的误发声。当 PB5 输出高电平的时候,蜂鸣器将发声,当 PB5 输出低电平的时候,蜂鸣器停止发声。
主要仪器设备
GEC-STM32F429开发板和keil 5软件
三、实验内容及步骤
- 首先用keil软件打开实验项目,确保可编译之后。
- 开发板使用usb连接线连接上电脑
- 然后使用点击load加载到开发板上。
- 修改代码
- 以下是main函数代码
#include "stm32f4xx.h"
#include "./led/bsp_led.h"
#include "./key/bsp_key.h"
#include "./beep/bsp_beep.h"int i=0;
void delay(int time);
int led1 = 1;
int led2 = 0;void Delay1(__IO u32 nCount); /*** @brief 主函数* @param 无* @retval 无*/
int main(void)
{/* LED 端口初始化 */LED_GPIO_Config(); /*初始化按键*/Key_GPIO_Config();/*峰名器 初始化*/BEEP_GPIO_Config(); /* 轮询按键状态,若按键按下则反转LED */ while(1) { if( Key_Scan(KEY1_GPIO_PORT,KEY1_PIN) == KEY_ON ){while(1){/*LED1反转*/LED1_TOGGLE;delay(1000000);LED2_TOGGLE;delay(1000000);LED3_TOGGLE;delay(1000000);BEEP_ON;if( Key_Scan(KEY2_GPIO_PORT,KEY2_PIN) == KEY_ON ){/*LED2反转*/LED1(ON);delay(1000000);LED2(ON);delay(1000000);LED3(ON);delay(1000000); BEEP_OFF;break;} } }}
}void delay(int time){for(;i<time;i++){}i= 0;
}void Delay1(__IO uint32_t nCount) //延时函数
{for(; nCount != 0; nCount--);
}
【致敬嵌入式攻城狮第2期活动预热征文】蜂鸣器加流水灯按键检测的实现相关推荐
- 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found
解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: 'board_cfg.h' file not found 继上上周在RA2E1开发板上跑通了RT-Thread最新版本的代码 ...
- 【致敬嵌入式攻城狮第2期活动预热征文】 [深入理解SSD 20] 话说固态硬盘里的HMB
声明 主页: 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言. 个人辛苦整理,付费内容,禁止转载. 内容摘要 1. 何为 HMB? 2. HMB 是怎么做到的? 2.1 被替代的 DR ...
- Haozi的嵌入式攻城狮修炼历程
文章目录 入门 -- 基础 进阶 -- RTOS(RT-Thread) 番外:工具 练习:设计 入门 -- 基础 ===>> 此系列代码在这 Gitee <<=== STM32 ...
- 嵌入式攻城狮 I Linux基础
一.操作系统概述 1.励志公式 2.什么是OS? 3.不同领域的主流操作系统 4.虚拟机 5.操作系统发展简史 转存失败重新上传取消二.Linux与Windows对比 1.Windows与Linux的 ...
- 《致敬未来的攻城狮计划》 第2期正式开启报名。。。
<致敬未来的攻城狮计划> 第2期 摘要: 一个崭新的计划,寻找那群有志于向嵌入式发展的未来工程师! 1 活动计划初衷 <致敬未来的攻城狮计划>来源于架构师李肯的一个念想,我一直 ...
- 【致敬未来的攻城狮计划】第1期 作业汇总贴 + 获奖公布
文章目录 一.写在前面 二.种子学员介绍 三.作业贴汇总 四.小小总结 五.获奖公布 六.学员有话说 七.特别致谢 一.写在前面 时间过得真快,距离 [致敬未来的攻城狮计划]第1期 的发起,已经过 ...
- 【致敬未来的攻城狮计划】第2期定向赠书《RT-Thread设备驱动开发指南》+ 《GD32 MCU原理及固件库开发指南》
开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯(超链接:http://yyds.recan-li.cn)和 瑞萨MCU (超链接:瑞萨电子 (Renesas Electronics ...
- 《致敬未来的攻城狮计划》| 文末赠书3本
<致敬未来的攻城狮计划>-- 文末有福利 摘要: 一个崭新的计划,寻找那群有志于向嵌入式发展的未来工程师! 文章目录 1 活动计划初衷 2 活动计划形式 3 活动计划收获 4 活动计划要求 ...
- 【致敬未来的攻城狮计划】— 连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下(文字上的初理解)
系列文章目录 系列文章目录 前言 一.瑞萨MCU(CPK_RA2E1是瑞萨RA系列开发板)是什么? 首先引入是什么? 他的优势在哪? 瑞萨CPK_RA2E1 对标stm32 相似之处和不同之处? 瑞萨 ...
最新文章
- 201-3-19李宏毅机器学习视频笔记七(游戏解释Gradient Descent)
- 【2-SAT问题】解题报告:POJ 3678 Katu Puzzle(2-SAT问题的判定)
- LUA中相同签名函数覆盖
- 面试中关于多线程同步,你必须要思考的问题
- 笨方法“学习python笔记之输入
- Mr.J-- jQuery学习笔记(十三)--选项Tab卡
- linux bochs 网卡,Bochs 在Windows和Linux下配置对比
- ASP.NET长文章分页
- java为什么要设计包装类_Java 为什么需要包装类
- 获取本地文件所需配置
- C-Free 5.0最新注册码
- 【数学逻辑思维】A 好玩的数独游戏——002
- vss导入git vss导入svn
- Three.js星空粒子特效
- Linux 系统中的用户管理
- 黑客张福:互联网是黑暗的森林
- 开源基于涂鸦模组和沁恒RISC-V 架构32位MCU的IOT物联网生活环境监测系统及涂鸦模组使用
- 如何区分b ,B,KB,MB,GB?
- 中介模式(python实现2)
- 第一章:机器学习概览
热门文章
- Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比
- Excel工作表事件(4)- 单元格修订记录跟踪
- Linux内核二进制hook的手艺-总结
- signature=e260e08d0d5973d18c37cc596c51cae8,女性不妊症領域におけるレーザー手術の現況...
- 最新版基于TP开发的9国语言海外多语言抢单源码+9色前端UI
- 实现北大官网首页的动态图标
- OSS signature 计算
- 新入职的 Java 同事天天净写垃圾代码,难道就没办法?
- tomcat8弱口令漏洞复现与getshell
- 老司机双十一厚礼之玩转 3D Swiper 性感秀之思路分析总结