STM32CubeMX让我们的蓝色LED闪亮起来(胎教级包看包会不用懂原理)

本文主要是介绍STM32CubeMX让我们的蓝色LED闪亮起来(胎教级包看包会不用懂原理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于LED灯这个还是比较简单基础的,首先是拿出我们的原理图,来知道我们是要操作那些端口让我们的小灯亮起来,以及高电平亮还是低电平亮。

在这里插入图片描述
在这里插入图片描述
通过上图,我们可以知道要用到PF11、PF12 和PF15引脚

这个应该是低电平亮,高电平灭,不过这个不重要,到时候看看跑出来的结果就明白了

有了这些理论知识,我们开始

首先要配置外部晶振,我这里是25Mhz的外部晶振。

在这里插入图片描述

这里因为我要用到网络部分,所以就先打开了Master Clock Output,因为网络模块没有使用独立的50MHZ晶振,所以使用STM32的MCO2输出50Mhz来驱动网口正常工作,也可以用MCO1。这里的详细倍频分频选择网口模块的配置再详细说明。不需要MCO输出频率的可以不勾选Master Clock Output。

在这里插入图片描述

这里也设置一下SYS,虽然没太理解到底干啥,但是有用,应该是中断的时钟,预设一下,别忘记了,这个太容易忘记了。

在这里插入图片描述

接下来就是我们一起来找茬,找到我们需要的PF11 PF12 PF15然后选择GPIO_Output就可以了

在这里插入图片描述
在这里插入图片描述
这里默认的会让小灯初始化之后常亮,这里改不改都行,后面我也会写怎么去修改代码来改变亮灭

这个User Label还是非常有必要的!这个可以让代码中标识的更加清晰,这里一定要定义!

在这里插入图片描述
时钟还是老规矩,然后生成文件就可以了,详情的话之前写过,就不写了

在这里插入图片描述

HAL_GPIO_WritePin(LED0_GPIO_Port,LED0_Pin,GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(LED0_GPIO_Port,LED0_Pin,GPIO_PIN_SET);
HAL_Delay(500);

这段代码写到主函数离,因为之前的标签里面修改成了LED0作为标签,所以,这里就可以直接比较直观的拿来使用。

在这里插入图片描述
这段的LED0_Pin的重新映射再main.h中定义的,软件自动生成的,想知道GPIO的可以去查看。

这时候烧录进去程序,会发现LED灯初始化后是常亮的,所以我们来看一看这是怎么回事儿

在这里插入图片描述
重点在这里,这里设置成GPIO_PIN_SET就是亮,设置成GPIO_PIN_RESET就是灭,这也是为什么我们主程序中用那两句指令控制亮灭。

嗯,LED部分应该就到这里了,下一个,I2C实现EEPROM。

这篇关于STM32CubeMX让我们的蓝色LED闪亮起来(胎教级包看包会不用懂原理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/784353

相关文章

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

Smarty模板执行原理

为了实现程序的业务逻辑和内容表现页面的分离从而提高开发速度,php 引入了模板引擎的概念,php 模板引擎里面最流行的可以说是smarty了,smarty因其功能强大而且速度快而被广大php web开发者所认可。本文将记录一下smarty模板引擎的工作执行原理,算是加深一下理解。 其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者