STM32-点亮 LED

目录

1 、电路构成及原理图 

2 、编写实现代码 

3、代码讲解

4、烧录到开发板调试、验证代码 

5、检验效果


本人使用的是朗峰 STM32F103 系列开发板,此笔记基于这款开发板记录。

1 、电路构成及原理图 

首先,通过朗峰 F1 开发板 LED 部分原理图看到,一共有两颗用于程序调试的 LED(发光二极管)LED1(红色)、LED2(绿色),而且两颗发光二极管的正极分别通过了一个限流电阻 R52 和 R53 接到 3.3v 电源端。两颗 LED 的负极分别连接到了 MCU—STM32F103RCT6 的GPIO(通用输入输出端口)的 PC6 和 PB9 引脚上。 

其次,根据二极管单向导通的特性,我们知道只要让 PC6 引脚或PB9 输出低电平 LED1 或 LED2 就可以亮起来啦.

2 、编写实现代码 

3、代码讲解

无论多复杂或多简单的程序都有且只有这一个 main 函数,继续看,main 的第一行就是初始化 HAL 库函数 HAL_Init(); 也是 HAL 库提供的函数,不用自己写,拿过来用就行了,紧接着第二行就是系统时钟初始化函数 SystemClock_init(RCC_PLL_MUL9);可以右键“Go To Definition”打开看一下(需要先按 编译一次),真的不要急着能看懂代码,重点先了解写代码流程。 再下一行就是初始化 LED 函数了 Led_Init();不管是片上外设还是外部设备使用前都需要先初始化的。 接下来就进入程序循环了 while(),就是会反复循环执行的代码。

4、烧录到开发板调试、验证代码 

想真实的看到这段代码的效果,我们还需要把代码下载到开发板。

方法是:用下载器,连接到开发板的 SWD 插针上注意引脚对应关系,不要插错了。 

然后编译一次(按),编译结果显示 0 错误 0 警告就 OK 

之后再按 将代码下载到开发板。 

5、检验效果


  

欢迎大家留言,共同探讨,共同学习,共同进步

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

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

相关文章

第三十六天| 435. 无重叠区间、763.划分字母区间、56. 合并区间

Leetcode 435. 无重叠区间 题目链接:435 无重叠区间 题干:给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 思考:贪心法。和452 用最少数量的…

Gin框架: HTML模板渲染之配置与语法详解

Gin的HTML模板配置 1 &#xff09;单一目录的配置 配置模板目录&#xff0c;在与main.go同级下, 新建目录&#xff0c;下面二选一&#xff0c;仅作举例, 这里选择 tpls templatestpls 在 tpls 目录下新建 news.html <!-- 最简单的 --> <h1>News Page</h1>&l…

如何在nginx增加健康检查接口

在docker中部署的nginx或者在nginx部署的nginx一般是需要一个健康检查接口的 这样的话&#xff0c;就可以确定容器当前的状态是否是健康的 那么&#xff0c;如何给nginx增加一个健康检查的接口呢&#xff1f; 接下来呢&#xff0c;我们就演示一个在nginx中如何增加健康检查的…

【工具类】开源照片管理工具pthtoprism

1. pthtoprism 1. pthtoprism 1.1. 安装1.2. 管理照片方式 1.2.1. 直接管理原始照片目录1.2.2. 导入照片 1.3. 界面功能1.4. 参考资料 1.1. 安装 wget https://dl.photoprism.app/docker/docker-compose.yml # 修改 docker-compose.yml 文件&#xff0c;具体参考下面内容 d…

ArcGIS API for JavaScript 4.X 本地部署(js,字体)

0 目录&#xff08;4.19&#xff09; /4.19/ 1 修改文件 1.1 init.js 编辑器打开/4.19/init.js搜索文本[HOSTNAME_AND_PATH_TO_JSAPI]&#xff0c;然后将其连同前面的https://替换为http://ip地址/4.19&#xff0c;可以是localhost&#xff0c;只能本机引用 替换后&#xff…

Minio Server + Minio Client 数据迁移、备份

文章目录 1、概要2、mc安装3、添加minio集群4、数据同步4、cp 和 mirror 区别5、效果 1、概要 Minio Server Minio Client 实现minio 不同集群之间的数据迁移、数据备份 2、mc安装 $ wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc -P /usr/local/bin/ $ c…

学习数据接构和算法的第11天

题目讲解 删除有序数组中的重复项 ​ 去重 ​ 给你一个有序数组nums,请你原地删除重复出现的元素&#xff0c;使没个元素值出现一次&#xff0c;返回删除后数组的长度 ​ **注意&#xff1a;**不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组并使用O(1)额外空…

Camunda快速入门(三):设计一个人工任务流程并配置表单

接上一篇文章&#xff1a;Camunda快速入门&#xff08;二&#xff09;&#xff1a;设计并执行第一个BPMN流程 在本节中&#xff0c;您将学习如何使用 BPMN 2.0 用户任务让人类参与到您的流程中。 1、添加用户任务活动节点 我们想修改我们的流程&#xff0c;以便我们可以让人…

使用SiteScan合理信息收集

一、介绍 作者&#xff1a;kracer 定位&#xff1a;专注一站式解决渗透测试的信息收集任务。 语言&#xff1a;python3开发 功能&#xff1a;包括域名ip历史解析、nmap常见端口爆破、子域名信息收集、旁站信息收集、whois信息收集、网站架构分析、cms解析、备案号信息收集、…

小迪安全2023最新版笔记集合--续更

小迪安全2023最新版笔记集合–续更 小迪安全2023最新笔记集合 章节一 ---- 基础入门&#xff1a; 知识点集合&#xff1a; 应用架构&#xff1a;Web/APP/云应用/三方服务/负载均衡等 安全产品&#xff1a;CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令&#xff1a;文件上传下…

RK3568平台 有线以太网接口之MAC芯片与PHY芯片

一.平台网络网络通路 平台有线以太网通路&#xff1a;有线以太网一般插入的是RJ45 座要与 PHY 芯片&#xff08;RTL8306M&#xff09;连接在一起&#xff0c;但是中间需要一个网络变压器&#xff0c;网络变压器经过模数转换后到达网卡(RTL8111)转换为帧数据后到达SOC。 二.网络…

业务型 编辑器组件的封装(复制即可使用)

使用需要安装 wangeditor npm i --save wangeditor import React from react; import E from wangeditor; import ./index.lessclass EditorElem extends React.Component {constructor(props) {super(props);this.isChange false;this.state {}}componentDidMount() {con…

【leetcode热题】二叉树的层次遍历 II

难度&#xff1a; 简单通过率&#xff1a; 44.9%题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述 给定一个二叉树&#xff0c;返回其节点值自底向上的层次遍历。 &#xff08;即按从叶子节点所在层到根节点所在的层&…

MySQL学习Day18——逻辑架构

一、逻辑架构剖析: 1.服务器处理客户端请求: 首先 MySQL 是典型的C/S架构&#xff0c;即client/Server架构&#xff0c;服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信&#xff0c;最后实现的效果都是:客户端进程向服务器进程发送段文本(SQL语…

在script标签写export为什么会抛错|type module import ES5 ES6 预处理 指令序言 JavaScript JS

今天我们进入到语法部分的学习。在讲解具体的语法结构之前&#xff0c;这一堂课我首先要给你介绍一下 JavaScript 语法的一些基本规则。 脚本和模块 首先&#xff0c;JavaScript 有两种源文件&#xff0c;一种叫做脚本&#xff0c;一种叫做模块。这个区分是在 ES6 引入了模块…

如何防止被恶意刷接口?

在面试时&#xff0c;经常会被问一个问题&#xff1a;如何防止别人恶意刷接口&#xff1f; 这是一个非常有意思的问题&#xff0c;防范措施挺多的。今天这篇文章专门跟大家一起聊聊&#xff0c;希望对你会有所帮助。 1 防火墙 防火墙是网络安全中最基本的安全设备之一&#x…

一个网络请求是怎么进行的?

一个网络请求是怎么进行的&#xff0c;涉及到浏览器的运行机制、页面加载流程。 当我们打开一个页面的时候&#xff0c;可以在NetWork面板上看到浏览器发起的网络请求&#xff0c;包括了页面、图片、CSS样式文件以及请求的状态&#xff0c;请求耗时和响应内容等等信息。 实际…

2023年全球软件开发大会(QCon北京站2023)2月:核心内容与学习收获(附大会核心PPT下载)

本次峰会是一个汇集了最新技术趋势、最佳实践和创新思维的盛会。对于从事软件开发和相关领域的专业人士来说&#xff0c;参加这样的大会将有助于他们了解行业动态、提升技能水平、拓展职业视野&#xff0c;并与同行建立联系和合作。 本次峰会包含&#xff1a;AI基础架构、DevO…

C++ move semantics

Move casts the argument to rvalue reference, and forward casts the argument to the value type it is bound to. The cast doesn’t move, doesn’t change the obj itself and does nothing but let the compiler know this is an rvalue.Move semantics happens for mov…

CSS常用技巧

【1】制作三角形 <style>.box {width: 0;height: 0;margin: 0 auto;/* 等腰直角三角&#xff1a; 各边框宽度一致&#xff0c;将上边框保留&#xff0c;其他边框设置为透明色 */border: 100px solid transparent;border-top: 100px solid red;} </style> <d…