【STM32】STM32学习笔记-LED闪烁 LED流水灯 蜂鸣器(06-2)

00. 目录

文章目录

    • 00. 目录
    • 01. GPIO之LED电路图
    • 02. GPIO之LED接线图
    • 03. LED闪烁程序示例
    • 04. LED闪烁程序下载
    • 05. LED流水灯接线图
    • 06. LED流水灯程序示例
    • 07. 蜂鸣器接线图
    • 08. 蜂鸣器程序示例
    • 09. 下载
    • 10. 附录

01. GPIO之LED电路图

电路图示例1

在这里插入图片描述

电路图示例2

在这里插入图片描述

02. GPIO之LED接线图

在这里插入图片描述

03. LED闪烁程序示例

main.c

#include "stm32f10x.h"#include "delay.h"int main(void){	GPIO_InitTypeDef GPIO_InitStruct;//使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//GPIO初始化GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;GPIO_Init(GPIOA, &GPIO_InitStruct);while(1){#if 0//设置为高电平GPIO_SetBits(GPIOA, GPIO_Pin_0);delay_ms(100);//设置为低电平GPIO_ResetBits(GPIOA, GPIO_Pin_0);delay_ms(100);#endif#if 0//设置为低电平GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);delay_ms(500);//设置为高电平GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);delay_ms(500);#endif//设置为低电平GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)0);delay_ms(100);//设置为高电平GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)1);delay_ms(100);}return 0;}

04. LED闪烁程序下载

接线图如下图所示:

在这里插入图片描述

点击下载,现象为LED闪烁。

05. LED流水灯接线图

在这里插入图片描述

06. LED流水灯程序示例

main.c

#include "stm32f10x.h"#include "delay.h"int main(void){	GPIO_InitTypeDef GPIO_InitStruct;//使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//GPIO初始化GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_All; //初始化所有的引脚GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;GPIO_Init(GPIOA, &GPIO_InitStruct);while(1){GPIO_Write(GPIOA, ~0x0001);	//0000 0000 0000 0001delay_ms(100);GPIO_Write(GPIOA, ~0x0002);	//0000 0000 0000 0010delay_ms(100);GPIO_Write(GPIOA, ~0x0004);	//0000 0000 0000 0100delay_ms(100);GPIO_Write(GPIOA, ~0x0008);	//0000 0000 0000 1000delay_ms(100);GPIO_Write(GPIOA, ~0x0010);	//0000 0000 0001 0000delay_ms(100);GPIO_Write(GPIOA, ~0x0020);	//0000 0000 0010 0000delay_ms(100);GPIO_Write(GPIOA, ~0x0040);	//0000 0000 0100 0000delay_ms(100);GPIO_Write(GPIOA, ~0x0080);	//0000 0000 1000 0000delay_ms(100);}return 0;}

07. 蜂鸣器接线图

在这里插入图片描述

08. 蜂鸣器程序示例

main.c

#include "stm32f10x.h"#include "delay.h"int main(void){	GPIO_InitTypeDef GPIO_InitStruct;//使能GPIOB时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//GPIO初始化 PB12GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12; //初始化所有的引脚GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;GPIO_Init(GPIOB, &GPIO_InitStruct);while(1){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(100);GPIO_ResetBits(GPIOB, GPIO_Pin_12);delay_ms(700);}return 0;}

09. 下载

stm32F103工程模板

01-LED闪烁.rar

02-LED流水灯.rar

03-蜂鸣器示例程序.rar

10. 附录

参考: 【STM32】江科大STM32学习笔记汇总

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

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

相关文章

持续集成交付CICD:Jenkins使用GitLab共享库实现自动上传前后端项目Nexus制品

目录 一、实验 1.GitLab本地导入前后端项目 2.Jenkins新建前后端项目流水线 3.Sonarqube录入质量阈与质量配置 4.修改GitLab共享库代码 5.Jenkins手动构建前后端项目流水线 6.Nexus查看制品上传情况 7.优化代码获取RELEASE分支 8.优化Jenkins流水线项目名称 一、实验 …

计算机网络:数据链路层(网桥)

带你速通计算机网络期末 目录 一、冲突域和广播域 二、网桥介绍 三、网桥分类—―透明网桥 四、网桥分类―—源路由网桥 五、多接口网桥―—以太网交换机 总结 一、冲突域和广播域 冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只…

华为数通---配置基本QinQ示例

QinQ简介 定义 QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag&#x…

MySQL之DQL语句

DQL语句 DQL(Data Query Language)查询数据 操作查询:select简单的查询,复杂的查询数据库中最核心的语言,最重要的语句使用频繁的语句 指定查询 查询全部 语法: select 全部字段(*&#x…

什么是tomcat?tomcat是干什么用的?

目录 Tomcat 的主要用途包括: 托管Java Web应用程序: Servlet 容器: 以下是关于Servlet容器的一些关键特性和功能: 生命周期管理: 多线程支持: HTTP请求处理: HTTP响应生成:…

金融众筹系统源码:适合创业孵化机构 附带完整的搭建教程

互联网技术的发展,金融众筹作为一种新型的融资方式,逐渐成为创业孵化机构的重要手段。为了满足这一需求,金融众筹系统源码就由此而生,并附带了完整的搭建教程。 以下是部分代码示例: 系统特色功能一览: 1.…

不可变对象设计模式

共享的资源,是指在多个线程同时对其访问的情况下,各个线程都会使其发生变化,线程安全的目的是在受控的并发访问中防止数据发生变化。除了使用synchronized关键字同步对资源的写操作之外,还可以在线程间不共享资源状态,…

《从入门到精通:AJAX基础知识解析,前端开发中利器》基础篇

目录 学习目标: 学习目录: 学习时间: 学习内容: 什么是 AJAX? 怎么用 AJAX ? 认识 URL 协议 域名 资源路径 获取 - 新闻列表 URL 查询参数 axios-查询参数 常用请求方法和数据提…

Jenkins离线安装部署教程简记

前言 在上一篇文章基于Gitee实现Jenkins自动化部署SpringBoot项目中,我们了解了如何完成基于Jenkins实现自动化部署。 对于某些公司服务器来说,是不可以连接外网的,所以笔者专门整理了一篇文章总结一下,如何基于内网直接部署Jen…

Python OpenCV将32位图像改为8位图像

将32位图像改为8位 背景代码 背景 图片格式为32位图像,需要将它改为8位图像,找了很多博客,说的方法五花八门,基本都不行,现在提供一种方式,能够实现这个功能。 代码 // An highlighted block import os …

网络安全知识点总结

网络安全是确保计算机网络免受未经授权的访问、攻击、破坏、更改或泄露的一系列措施和技术的综合体。以下是关于网络安全的更详细的知识点总结: 防火墙和边界安全: 实施防火墙以监控和控制网络流量。边界防御策略包括网络地址转换(NAT)和端口…

ELADMIN - 免费开源 admin 后台管理系统,基于 Spring Boot 和 Vue ,包含前端和后端源码

一款简单好用、功能强大的 admin 管理系统,包含前端和后端源码,分享给大家。 ELADMIN 是一款基于 Spring Boot、Jpa 或 Mybatis-Plus、 Spring Security、Redis、Vue 的前后端分离的后台管理系统。 ELADMIN 的作者在 Github 和 Gitee 上看了很多的项目&…

【C++】模板具体化、实例化、特化整理总结

文章目录 模板具体化实例化(隐式实例化)显式实例化显式具体化(特化)具体化(全特化)部分具体化(部分特化、偏特化) 模板的具体化分为隐式实例化)、显式实例化和显式具体化)。 模板以泛型的方式描述函数&…

【密码学】RSA破解方法汇总(PYTHON实现)

源自于密码学的一次大作业~ RSA破解 💡 Alice使用的RSA密码体制,有以下事项需要说明: 1) 模数𝑁𝑝𝑞规模为1024比特,其中𝑝,𝑞为素数&#xff1…

Java项目学生管理系统六后端补充

班级管理 1 班级列表:后端 编写JavaBean【已有】编写Mapper【已有】编写Service编写controller 编写Service 接口 package com.czxy.service;import com.czxy.domain.Classes;import java.util.List;/*** author 桐叔* email liangtongitcast.cn* description*/ p…

【Jenkins】Centos环境安装Jenkins(通过rpm安装)

在Centos操作系统中通过rpm安装Jenkins 参考官网 https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos 1、下载安装Jdk17 下载安装 # 更新您的系统,不一定需要 # sudo yum -y update # 安装将用于下载 Java 17 二进制文件的 wget 命令行工具。 s…

计算机网络传输层(期末、考研)

计算机网络总复习链接🔗 目录 传输层的功能端口UDP协议UDP数据报UDP的首部格式UDP校验 TCP协议(必考)TCP报文段TCP连接的建立TCP连接的释放TCP的可靠传输TCP的流量控制零窗口探测报文段 TCP的拥塞控制慢开始和拥塞控制快重传和快恢复 TCP和U…

薅github的羊毛-用pages建自己的博客或静态资源站 - 1/2

注册帐号 准备邮箱注册帐号,在注册界面输入用户名、邮箱及密码完成注册。 添加图片注释,不超过 140 字(可选) 1. 在注册成过程中,会往邮箱发送验证码,请如实填写即可 2. 验证码没错的话,就代…

AUTOSAR从入门到精通-面向服务的中间件SOME/IP(一)

目录 前言 几个相关概念 几个高频面试题目 SOME/IP 与 CAN 的不同? 通信速度

JavaScript询问gpt:如何合并数组?

如何合并数组? 在 JavaScript 中,你可以使用多种方法来合并数组。以下是一些常见的方法: 1. 使用 concat() 方法: javascript const array1 [1, 2, 3]; const array2 [4, 5, 6]; const mergedArray array1.concat(…