【STM32 |程序实测】LED灯闪烁、LED灯流水线、蜂鸣器

LED闪烁&LED流水灯&蜂鸣器的面包板接线图,及对应程序示例


LED闪烁

面包板接线图如下

开启APB2时钟,并且在GPIOA上进行配置,推挽输出,引脚A0,50HZ速度 

#include "stm32f10x.h"                  // Device header
#include "Delay.h"int main(){GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_Init(GPIOA,&GPIO_InitStructure);//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平while(1){GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平Delay_s(1);GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平Delay_s(1);}
}

LED流水灯

 面包板接线图如下

 开启APB2时钟,并且在GPIOA上进行配置,推挽输出,引脚A0-A7,50HZ速度 

#include "stm32f10x.h"                  // Device header
#include "Delay.h"int main(){GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; //也可以这样GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_Init(GPIOA,&GPIO_InitStructure);//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平while(1){GPIO_Write(GPIOA,~0x0001);//低电平按位取反 0000 0000 0000 0001 第一个IED灯亮Delay_ms(100);GPIO_Write(GPIOA,~0x0002);//低电平按位取反 0000 0000 0000 0010 第二个IED灯亮Delay_ms(100);GPIO_Write(GPIOA,~0x0004);//低电平按位取反 0000 0000 0000 0100 第三个IED灯亮Delay_ms(100);GPIO_Write(GPIOA,~0x008);//低电平按位取反 0000 0000 0000 1000 第四个IED灯亮Delay_ms(100);GPIO_Write(GPIOA,~0x0010);//低电平按位取反 0000 0000 0001 0000 第五个IED灯亮Delay_ms(100);GPIO_Write(GPIOA,~0x0020);//低电平按位取反 0000 0000 0010 0000 第六个IED灯亮Delay_ms(100);GPIO_Write(GPIOA,~0x0040);//低电平按位取反 0000 0000 0100 0000 第七个IED灯亮Delay_ms(100);GPIO_Write(GPIOA,~0x0080);//低电平按位取反 0000 0000 1000 0000 第八个IED灯亮Delay_ms(500);}
}

蜂鸣器 

 面包板接线图如下

 

 开启APB2时钟,并且在GPIOB上进行配置,推挽输出,引脚B12,50HZ速度  

#include "stm32f10x.h"                  // Device header
#include "Delay.h"int main(){GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_Init(GPIOB,&GPIO_InitStructure);//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//低电平//GPIO_SetBits(GPIOA,GPIO_Pin_0);//高电平//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平while(1){GPIO_ResetBits(GPIOB,GPIO_Pin_12); //响100毫秒停100毫秒响100毫秒停700毫秒Delay_ms(100);GPIO_SetBits(GPIOB,GPIO_Pin_12);Delay_ms(100);GPIO_ResetBits(GPIOB,GPIO_Pin_12);Delay_ms(100);GPIO_SetBits(GPIOB,GPIO_Pin_12);Delay_ms(700);}
}

希望对你有帮助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Linux][网络][网络层][IP协议]详细讲解

目录 0.基本概念1.IP协议头格式2.IP分片与组装1.为什么要分片?2.分片后谁来组装?3.这个分片操作传输层知道吗?4.如何识别报文和报文的不同?5.接收端,如何得知报文是独立的还是一个分片?6.如何区别哪些分片是…

【论文泛读|附源码】如何进行动力学重构? 神经网络自动编码器结合SINDy发现数据背后蕴含的方程

这一篇文章叫做 数据驱动的坐标发现与方程发现算法。 想回答的问题很简单,“如何根据数据写方程”。 想想牛顿的处境,如何根据各种不同物体下落的数据,写出万有引力的数学公式的。这篇文章就是来做这件事的。当然,这篇论文并没有…

数据结构--图。

在前面,我们学习了线性表和树,而接下来我们要学习的图相较于他们就更加复杂。 目录 一.图的有关概念 一.图的有关概念 1.定义 图(graph)G由两个集合V和E组成,记为G(VE)。V是顶点的有穷非空集合;E是边的集合,边是V中顶点的无序对…

xml怎么用【C#,XML】

作用&#xff1a; 用来保存class对象的全部属性。 语法&#xff1a; < > 必须成对出现 <!--这个是注释--> <Student> </Student> 必须成对出现&#xff0c;Student也叫元素标签 <Name&g…

【Linux】传输文件,补充:VMware中Linux系统无法连接网络的解决方法

Linux系统可以和其他系统之间进行传输文件&#xff0c;只要通过ssh连接成功以后&#xff0c;就能进行文件传输。 Linux系统也可以通过URL规则和网页之间进行传输文件&#xff08;即上传/下载&#xff09;。 1、Linux系统之间传输文件&#xff1a;scp centos7自带ssh服务&…

向上转型和向下转型

转型 概念&#xff1a;Java数据类型转换是将一种数据类型的值转换为另一种数据类型的值。在Java中&#xff0c;数据类型转换可以分为两种&#xff1a;向上转型和向下转型 向上转型 ​ 是把子类对象当作父类对象来使用的过程(自动转型)。在向上转型中&#xff0c;我们创建一个…

FPGA+炬力ARM实现VR视频播放器方案

FPGA炬力ARM方案&#xff0c;单个视频源信号&#xff0c;同时驱动两个LCD屏显示&#xff0c;实现3D 沉浸式播放 客户应用&#xff1a;VR视频播放器 主要功能&#xff1a; 1.支持多种格式视频文件播放 2.支持2D/3D 效果实时切换播放 3.支持TF卡/U盘文件播放 4.支持定制化配置…

36.Docker-Dockerfile自定义镜像

镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 镜像是分层机构&#xff0c;每一层都是一个layer BaseImage层&#xff1a;包含基本的系统函数库、环境变量、文件系统 EntryPoint:入口&#xff0c;是镜像中应用启动的命令 其他&#xff1a;在…

win32操作windows应用(未完成)

win32 脚本制作 一 、获取窗口句柄 首先获取句柄&#xff0c;其次扫描组件&#xff0c;然后对按钮和文本进行操作 安装依赖 pip install pywin32 -i https://pypi.doubanio.com/simple扫描全部的句柄 import win32gui# GetDesktopWindow 获得代表整个屏幕的一个窗口&#…

Blazor/Hybird 触屏下单程序调优笔记

环境 Blazor Net8.0 FreeSql Bootstrap Blazor 组件 以下都是自己瞎琢磨的和官网资料搬运,肯定有不少错漏和不合理的地方,非常希望各位大佬评论区给我建议和意见. 1. 组件化需要提升渲染性能的组件,例如触摸屏显示每个商品下单数量的商品列表 避免不必要地呈现组件子树, 执…

QT-小项目:连接MY SQL数据库实现登录(下一章实现登录注册账号和忘记密码功能)

一、环境准备 1、下载MYSQL 64位&#xff0c;安装完成&#xff0c;制作简易数据库教程如下&#xff1a; MY SQL安装 2、QT 编译器使用 二、实现工程目录&#xff08;基于上一章基础上&#xff09; 三、源程序增加内容如下&#xff1a; login.cpp 增加头文件&#xff1a; #in…

《TAM》论文笔记(上)

原文链接 [2005.06803] TAM: Temporal Adaptive Module for Video Recognition (arxiv.org) 原文代码 GitHub - liu-zhy/temporal-adaptive-module: TAM: Temporal Adaptive Module for Video Recognition 原文笔记 What&#xff1a; TAM: Temporal Adaptive Module for …

内网安全综合管理系统是什么 | 好用的内网安全管理系统有哪些

内网安全综合管理系统是指一种集成终端管理、网络管理、内容管理、资产管理等功能的综合性安全管理系统。它主要对内网上的主机进行统一安全管理&#xff0c;包括对网络主机用户操作实施监督控制&#xff0c;并对主机中的安全软件&#xff08;如主机入侵监测系统、主机防火墙和…

关于提高 PHP 性能

解锁 PHP 性能&#xff1a;优化你的 Web 应用 在当今数字化世界中&#xff0c;Web 应用的性能对用户体验至关重要。作为最流行的服务器端脚本语言之一&#xff0c;PHP 在构建 Web 应用方面拥有广泛的应用。然而&#xff0c;PHP 应用的性能优化仍然是许多开发者关注的焦点之一。…

5 Spring 事务管理

目录 1.概述 2.事务特性&#xff1a;ACID 3.Spring 框架的事务管理支持两种方式 编程式事务 申明式事务 4.Spring 事务管理 API 事务管理器接口 Spring 的回滚方式 事务定义接口 事务的四种隔离级别 事务的七种传播行为 5.事务注解例子&#xff1a; Transactianal…

springboot+vue+mybatis警情高发智能灯箱+PPT+论文+讲解+售后

时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;警情高发智能灯箱当然不能排除在外。警情高发智能灯箱是在实际应用和软件工程的开发原理之上&#xff0c;运用微信开发者、java语言以及SpringBo…

如何获得一个Oracle 23ai数据库(docker容器)

准确的说&#xff0c;是Oracle 23ai Free Developer版&#xff0c;因为企业版目前只在云上&#xff08;OCI和Azure&#xff09;和ECC上提供。 方法包括3种&#xff0c;本文介绍第3种&#xff1a; Virtual ApplianceRPM安装Docker 我已经有了一台Oracle Linux 8的虚机&#x…

python:做柱状图

import matplotlib.pyplot as plt # 数据 categories [A, B, C, D] values [23, 45, 56, 78] # 创建柱状图 plt.bar(categories, values) # 添加标题和标签 plt.title(柱状图示例) plt.xlabel(类别) plt.ylabel(数值) # 显示图形 plt.show() D:\software\新建文件夹\python\L…

力扣每日一题- 给植物浇水 II -2024.5.9

力扣题目&#xff1a;给植物浇水 II 题目链接: 2105.给植物浇水 II 题目描述 代码思路 根据题目内容&#xff0c;使用双指针从左右两边同时向中间移动&#xff0c;模拟浇水过程即可。 代码纯享版 class Solution {public int minimumRefill(int[] plants, int capacityA, …

java 文件表创建及前后端使用

表结构task_file 前端具体到业务表单 <el-form-item label"任务附件" prop"taskAttachment"><el-upload ref"upload" accept".jpg, .png, .txt, .xlsx, .doc, .docx, .xls, .pdf, .zip, .rar":action"upload.url" …