STM32之点亮LED灯
使用固件库实现LED点灯
LED灯:

LED灯,是一种能够将电能转化为可见光的半导体器件
控制LED灯:

LED灯的正极接到了3.3V,LED灯的负极接到了PA1,也就是GPIOA1引脚
只需要控制PA1为相对应的低电平,即可点亮对饮的LED灯,输出高电平则熄灭对应的LED灯。
原理图:

具体代码如下:
主函数:

点亮灯的函数:


配置各个函数的具体做法:
因为我们是使用GPIO进行输出所以先打开stm32f103x_gpio.h的库文件,里面有许多的定义的函数所需的结构体,再打开一些时钟所需的库函数stm32f10x_rcc.h,stm32f10x_rcc.c,stm32f10x.h




我们的思想是在main函数里面调用一个函数使这个LED灯变亮
主要分为三步走:
初始化GPIO外设时钟(被调用的函数)
初始化LED引脚
输出电平
led_initstruct是我们自己定义的结构体名称,通过这个就可以配置相关的引脚,输出速度,输出模式。



输出速度的配置

输出模式的配置,这里我使用的是推挽输出,即Out_PP

配置初始化GPIO结构体,在这里第一个参数是GPIOA,第二个参数是我们定义的 GPIO结构体名称led_initstruct

外设时钟(使能ENABLE)



配置电平

第一个参数为GPIOA

第二个参数为GPIO_Pin_1

我们所用的GPIOA是通过桥接线APB2连接的

成功点亮(上面一个是电源指示灯,下面一个才是需要点亮的LED灯)

实现LED闪烁
只需在main函数里面进行操作即可

这里边加入了一个延迟函数delay(),里面的i是一个通过CPU主频灯大致计算的数值,无需记住。
如下图,上面一行是输出高电平,下面一行是输出低电平,我们要使LED灯熄灭,可以在PA1输出高电平,使两端无法流通,就可以实现熄灭。

相关文章:
STM32之点亮LED灯
使用固件库实现LED点灯 LED灯: LED灯,是一种能够将电能转化为可见光的半导体器件 控制LED灯: LED灯的正极接到了3.3V,LED灯的负极接到了PA1,也就是GPIOA1引脚 只需要控制PA1为相对应的低电平,即可点亮对…...
Java 多线程练习2 (抽奖比较Runnable写法)
MultiProcessingExercise2 package MultiProcessingExercise120240814;import java.util.ArrayList; import java.util.Collections;public class MultiProcessingExercise1 {public static void main(String[] args) {// 需求:// 在此次抽奖过程中,抽奖…...
使用fastboot更新部分系统
使用fastboot更新部分系统 获取分区信息 > part list sunxi_flash 0Partition Map for UNKNOWN device 0 -- Partition Type: EFIPart Start LBA End LBA NameAttributesType GUIDPartition GUID1 0x00008000 0x000097c5 "boot-r…...
windows 加载portch遇到的错误
import torch 遇到如下错误 File "<stdin>", line 1, in <module> File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\__init__.py", line 148, in <module> raise err OSError: [W…...
如何将 CICD 模版重构为 CICD component?
极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…...
数学建模——评价决策类算法(层次分析法、Topsis)
一、层次分析法 概念原理 通过相互比较确定各准则对于目标的权重, 及各方案对于每一准则的权重,这些权重在人的思维过程中通常是定性的, 而在层次分析法中则要给出得到权重的定量方法. 将方案层对准则层的权重及准则层对目标层的权重进行综合, 最终确定方案层对目标…...
KEEPALIVED 全csdn最详细----理论+实验(干货扎实,包教会的)
环境准备 主机名IP虚拟IP(VIP)功能ka1172.25.254.10172.25.254.100keepalived服务ka2172.25.254.20172.25.254.100keepalived服务realserver1172.25.254.110web服务realserver2172.25.254.120web服务 注意一定要关闭selinux,和防火墙,不然在…...
微信云开发云存储全部下载
一、安装 首先按照这个按照好依赖 安装 | 云开发 CloudBase - 一站式后端云服务 npm i -g cloudbase/cli 二、登录 tcb login 下载 首先在你要下载到的本地文件内创建一个名为:cloudbaserc.json 的json文件。 填入你的id {"envId":"你的云开发环…...
vos3000怎样对接voip落地语音网关呢?卡机和O口网关的配置技巧有哪些?
很多朋友没有接触过vos系统的使用,那么vos3000如何对接voip落地网关呢?卡机的配置技巧有哪些? VOS3000系统是针对中小等规模VoIP运营业务提供的支撑系统。 语音网关 落地网关分O口网关,S口网关,和全网通GOIP语音网关。…...
MySQL数据库专栏(四)数据库操作
1、创建数据库 create database if not exists [数据库名称] character set [字符集] COLLATE [排序规则]; 例如:create database if not exists db_demo character set utf8mb4 COLLATE utf8mb4_general_ci; if not exists:判断数据库是否存在&#x…...
Python编写Word文档
目录 0. 安装依赖 1. 创建word文档 2. 添加标题、居中、字体16大小 3. 添加标题一 4. 添加一段话并设置字体颜色 封装函数 5. 换页 6. 插入表格 0. 安装依赖 python-docx1.1.2 1. 创建word文档 from docx import Documentdoc Document() 2. 添加标题、居中、字体1…...
聚星文社AI工具
聚星文社AI工具是一款基于人工智能技术的文学创作辅助工具。聚星文社AI工具https://docs.qq.com/doc/DRU1vcUZlanBKR2xy 它能够帮助作者生成文字内容、自动校对、提供创作灵感等功能。 通过聚星文社AI工具, 作者可以更快速地完成文学作品的创作,提高创…...
思科OSPF动态路由配置8
#路由协议实现# #任务八OSPF动态路由配置8# 开放式最短路径优先(Open Shortest Path First,OSPF)协议是目前网络中应用最广泛的动态路由协议之一。它也属于内部网关路由协议,能够适应各种规模的网络环境,是典型的链路状态路由协…...
C++(10)类语法分析(1)
C(10)之类语法分析(1) Author: Once Day Date: 2024年8月17日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 源码分析_Once-Day的博客-CSDN博客 …...
python语言day6 os random datetime .ini文件
os: 获取运行当前py文件的绝对路径: abspath中添加路径,会直接和绝对路径拼接。 folder_path os.path.abspath("") print(folder_path) 路径拼接: mac系统路径:file/TranslucentTB win系统路径:…...
powershell 终端 执行 pnpm -v报错
1.问题描述: 明明全局已安装 pnpm ,但在vscode默认终端 powershell 执行 pnpm -v 却报错: 2.问题根因: 原因是 PowerShell 执行策略问题。 3.解决方案: 以管理员身份运行 PowerShell 查看 PowerShell 的执行策略…...
最新保姆级Anaconda和Pycharm安装激活过程(2024最新版本)
Anaconda和Pycharm安装过程 Anaconda安装过程第一步第二步第三步第四步第五步第六步第七步第八步第九步Pycharm 安装过程:第一步第二步第三步第四步第五步第六步---激活过程第七步第八步第九步第十步第十一步第十二步第十三步第十四步Anaconda和Pycharm软件百度网盘…...
虚幻5|布料模拟
打开骨骼网格体 1.Mass Prooerties 如果给角色施加风力,密度越大越难飘,相反密度越小飘动浮度也小 2.Material Proerties Edge Stiffness,对衣服的折痕处的调整,其值越大就越能维持原本的折痕,相反折痕就会变小,但…...
K8S 存储
K8S(Kubernetes)的存储是容器化应用程序中非常重要的一部分,它帮助用户在不同场景下管理和存储数据。K8S提供了多种存储方式,以满足不同的存储需求。以下是对K8S存储的详细解析: 一、K8S存储类型 K8S的存储类型主要分…...
Kafka Manager支持jdk1.8的部署和使用
一、Kafka Manager简介 Kafka Manager 可能是现在能找到的最好的可视化的Kafka管理工具, 感谢Yahoo的开源; 使用Kafka Manager, 基本上之前需要运行Kafka相应命令行工具的工作现在都可以可视化的完成:创建Topic, 调整消息保存时长, Partition数量等等配置;管理Topic, 包括Reas…...
**发散创新:基于Python的鲁棒水印技术实战解析与代码实现**在多
发散创新:基于Python的鲁棒水印技术实战解析与代码实现 在多媒体内容日益泛滥的今天,数字水印技术已成为版权保护、防伪溯源和内容认证的核心手段之一。本文将深入探讨一种基于离散余弦变换(DCT)的鲁棒图像水印嵌入与提取算法&…...
Linux Docker Compose 部署.NET+Vue+MySQL+Redis+Nginx 完整记录(亲测无坑)
写在前面:为什么用 Docker Compose?比单容器部署好在哪? 做容器化部署时,单靠docker run命令逐个启动 MySQL、Redis、后端、Nginx 容器会非常繁琐 —— 不仅要记大量命令参数,还得手动控制容器启动顺序、配置网络联动…...
保姆级教程:用Java SpringBoot实现钉钉机器人自动回复@消息(附完整源码)
企业级钉钉机器人开发实战:SpringBoot实现智能消息处理 最近在帮一家电商公司搭建内部工单系统时,遇到了一个典型需求:当员工在钉钉群里机器人提交问题时,需要自动识别用户身份并回复处理进度。这个看似简单的功能,在…...
矢量网络分析仪(VNA)校准实战:从原理到操作全解析
1. 矢量网络分析仪校准的核心原理 第一次接触矢量网络分析仪(VNA)时,我完全被那些复杂的S参数曲线搞懵了。直到老师傅告诉我:"VNA就是个高级照妖镜,校准就是给它配副好眼镜"。这个比喻让我恍然大悟——没有校…...
别只玩文生图了!手把手教你用Stable Diffusion 1.4的VAE模型,无损压缩和重构你的本地图片
解锁Stable Diffusion VAE的隐藏技能:从AI绘画到专业图像处理实战 你是否曾为海量图片的存储空间发愁?或是苦恼于传统图像处理工具的繁琐流程?今天,我们将颠覆你对Stable Diffusion的认知——它的VAE模型远不止是AI绘画的配角&…...
OpenClaw错误处理:QwQ-32B生成有误时的自动修正方案
OpenClaw错误处理:QwQ-32B生成有误时的自动修正方案 1. 为什么需要关注大模型生成错误 上周我让OpenClaw自动整理项目文档时,遇到了一个令人哭笑不得的场景。QwQ-32B模型将"API响应时间优化"错误生成为"API响应时间恶化"ÿ…...
Ollama API 实战:5分钟搞定本地大模型聊天机器人(Python版)
Ollama API 实战:5分钟搞定本地大模型聊天机器人(Python版) 在AI技术快速发展的今天,本地运行大型语言模型已成为可能。Ollama作为一个轻量级框架,让开发者能够轻松在本地计算机上部署和运行各种开源大模型。本文将带你…...
户用光伏爆火却被内耗拖垮?
当下户用光伏赛道卷疯了,订单接到手软,但不少光伏公司却陷入“越忙越乱”的内耗困境。从客户咨询、签单、设计安装,到并网运维,全流程环节繁杂、信息密集,亟需多部门高效协同,可很多企业还在靠人工记录、纸…...
GD32F4实战:在FreeRTOS上跑LWIP,网线热插拔怎么搞才稳?
GD32F4实战:FreeRTOS与LWIP深度整合中的网线热插拔稳定性设计 在工业物联网和边缘计算场景中,嵌入式设备的网络稳定性直接关系到系统可靠性。GD32F4系列作为国产MCU的优秀代表,配合FreeRTOS和LWIP的黄金组合,为开发者提供了高性价…...
HarfBuzz完全指南:如何理解字体渲染引擎的核心技术与字体子集化实践 [特殊字符]
HarfBuzz完全指南:如何理解字体渲染引擎的核心技术与字体子集化实践 🚀 【免费下载链接】harfbuzz HarfBuzz text shaping engine 项目地址: https://gitcode.com/gh_mirrors/ha/harfbuzz HarfBuzz是一个开源的文本整形引擎,专门处理复…...
