【蓝桥杯嵌入式】Cubemx新建工程引脚配置与点亮LED

【蓝桥杯嵌入式】Cubemx新建工程引脚配置与点亮LED

  • cubemx基础配置
  • LED 引脚配置
  • 按键配置
    • 按键引脚配置
    • 定时器扫描配置
  • 工程管理配置
  • 点亮LED程序设计
  • keil配置与程序下载

参考博文1:STM32 | 利用STM32CubeMX初始化一个STM32工程
参考博文1:点亮LED灯,流水灯的原理图解析与代码实现——STM32

cubemx基础配置

芯片的选择: STM32G431RBT6

开启外部高速时钟

打开Debug

配置时钟树

LED 引脚配置

  通过查看LED原理图,可以看到控制LED灯的是PC8~PC15,由于图中最左边是VDD,也就是高电平控制的,所以当PC8~PC15为高电平的时候,LED亮,为低电平的时候,LED灭。同时PD2作为锁存器的总开发,当PD2低电平时关,高电平时开。

将PC8~PC15和PD2引脚设置为输出模式

  然后点击红框中的System Core中的GPIO,在弹出来的中间界面中选中PC8~PC15,根据原理图的分析,我们将这些引脚置为高电平(high)。

按键配置

按键引脚配置

  通过查阅手册,按键分别接在PB0-2,PA0引脚上,并且均接有上拉电阻,当按键按下时,IO口电瓶被拉低,否则为高电平。

将PB0~PB2和PA0引脚设置为输入模式:

  然后点击红框中的System Core中的GPIO,在弹出来的中间界面中选中PB0~PB和PA0,根据原理图的分析,我们将这些引脚置上拉模式

定时器扫描配置

  在按键扫描实现中,采用定时器中断的方式实现对按键的扫描,每10ms检测按键状态,因此需要对相关定时器进行参数配置,因为该定时器只用于定时作用,因此本人通常使用基本定时器TIM6完成实现。
其中
频率 frq = 80000000 / (预分频系数+1) / (自动重装载值+1)
定时周期 T = 1 / frq

记得开定时器中断!!!

工程管理配置

点亮LED程序设计

因为LED受74HC595锁存器的控制,因此需要先打开锁存器,拉低PC8引脚,最后关闭锁存器实现点亮LD1灯。

HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);

注1:自己写的代码需要写在BEGIN 和 END之间,否则下次更新cubemx工程后会被覆盖

keil配置与程序下载

选择烧录器 DAP Debug

勾选复位运行并检查芯片包

若无加载芯片包,需手动加载:

编译与下载程序:

注:下载时候需要连接开发板

实际效果:

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

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

相关文章

已解决RocketMQ连接报错RemotingConnectException: connect to异常的正确解决方法,亲测有效!!!

已解决RocketMQ连接报错RemotingConnectException: connect to异常的正确解决方法,亲测有效!!! 问题分析 在使用Apache RocketMQ进行分布式消息传递时,可能会遇到org.apache.rocketmq.remoting.exception.RemotingCon…

【面经】软件开发工程师-后端方向1

面经整理系列: 【面经】软件开发工程师-后端方向1 文章目录 岗位与面经基础1:数据库 & 网络基础2:系统 & 语法模板3:算法 & 项目 岗位与面经 岗位介绍 JD: 美团-软件开发工程师-后端方向-1小时左右 金融服务平台 技…

【C#】版本号

💻 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApp16 {internal class Program{static void Main(string[] args){Version version01 new Version("4.0.0…

LeetCode 1315. 祖父节点值为偶数的节点和

解题思路 该节点的父节点的父节点是偶数,则sumsum该节点, 这道题的思路可以等价为该节点为偶数,并且子节点的子节点存在, 则sumsum该节点的子节点的子节点。 相关代码 /*** Definition for a binary tree node.* public class …

Web后端搭建

目录 一 搭建服务器端 1.1安装服务器软件 1.2检查环境是否配置 1.3安装Tomcat 二 创建并发Web项目 2.1创建一个java项目 三 创建Servlet 前端程序如何才能访问到后端程序呢,这时候我们就需要web服务器来解决:将后端程序部署到服务器中&#xff0c…

计算机网络实验——学习记录四(TCP协议)

1. 打开TCP服务: nc -e /bin/sh -lv 4499 注释: (1)nc是Linux下启动通讯服务的命令; (2)-e表示在nc命令后再执行bin文件夹下的shell命令,启动shell命令会导致所有从TCP连接传递到…

【JavaScript】原型链/作用域/this指针/闭包

1.原型链 参考资料:Annotated ES5 ECMAScript起初并不支持如C、Smalltalk 或 Java 中“类”的形式创建对象,而是通过字面量表示法或者构造函数创建对象。每个构造函数都是一个具有名为“prototype”的属性的函数,该属性用于实现基于原型的继…

【Java+Springboot】------ 通过JDBC+GetMapping方法进行数据select查询、多种方式传参、最简单的基本示例!

一、JDBC如何使用、PostGresql数据库 1、在pom.xml 先引用jdbc组件。 <!--jdbc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency> 2、在pom.xml 再引用p…

Unity UI 优化技巧

将画布分割为多个 问题:当 UI Canvas 的任何元素发生变化时,都会影响整个 Canvas。 Canvas 是 Unity UI 的重要组成部分。它创建一个网格来表示放置在其顶部的 UI 元素,在 UI 元素更改时重建网格,并调用 GPU 来渲染实际的用户界面。 创建这些网络可能非常昂贵。UI 元素应…

嵌入式Linux驱动开发——汇编点灯

嵌入式Linux驱动开发——汇编点灯 本文章开始记录学习嵌入式Linux的过程&#xff0c;使用的开发板是正点原子的阿尔法&#xff0c;以及左老师的书籍和视频。然后这个系列不会介绍基础知识&#xff08;书上都有&#xff09;&#xff0c;主要是记录思考过程以及需要注意的点。 代…

Ceph学习 -3.存储简介

文章目录 1.存储简介1.1 存储类型1.1.1 储备知识1.1.2 三种存储1.1.3 块存储1.1.4 文件存储1.1.5 对象存储1.1.6 三种存储之间的关系1.1.7 总结 1.2 Ceph简介1.2.1 官方介绍1.2.2 软件特点1.2.3 基本结构1.2.4 应用场景 1.3 小结 1.存储简介 学习目标&#xff1a;这一节&#x…

EasyExcel 校验后导入

引入pom <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.3</version></dependency>触发校验类 import com.baomidou.mybatisplus.extension.api.R; import lombok.experimental…

抖音引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域买单

抖音-引流私域转化模式1.0现场视频&#xff0c;从抖音源源不断把人加到私域&#xff0c;让加到私域的粉丝买单 课程内容&#xff1a;抖音引流私域转化模式1.0现场视频&#xff0c;从抖音源源不断把人加到私域买单 - 百创网-源码交易平台_网站源码_商城源码_小程序源码 01.第一…

MySQL从入门到精通——基础篇

文章目录 MySQL基础篇DDL(数据定义语言)数据库操作表操作DQL(数据查询语言)DML(数据操作语言)添加数据更新和删除数据DCL(数据控制语言)增删改用户权限管理角色管理其它非表数据库对象视图VIEW视图的理解视图的优缺点创建视图查看视图更新视图的数据修改、删除视图变量…

Python | Leetcode Python题解之第16题最接近的三数之和

题目&#xff1a; 题解&#xff1a; class Solution:def threeSumClosest(self, nums: List[int], target: int) -> int:nums.sort()n len(nums)best 10**7# 根据差值的绝对值来更新答案def update(cur):nonlocal bestif abs(cur - target) < abs(best - target):best…

LDR6328助力Type-C普及,便捷充电,绿色生活更精彩

随着科技的进步和全球统一接口的需求&#xff0c;Type-C接口正日益受到青睐。越来越多的设备正选择采纳这一先进的接口设计&#xff0c;它的普及无疑在改善着我们的日常生活。 在过往&#xff0c;许多小功率设备如小风扇、蓝牙音箱、桌面台灯以及家用加湿器等&#xff0c;都普遍…

【从零到一手撕脚手架 | 第二节】模块化封装 降低耦合度 封装 axios pinia router

【从零到一手撕脚手架 | 第二节】模块化封装 降低耦合度 封装 axios pinia router Hello大家好我是⛄&#xff0c;前一节我们讲解了脚手架的基础项目搭建。接下来教大家将Vue技术栈常用的工具进行封装&#xff0c;让我们项目的代码更易维护。 项目地址&#xff1a; GitHub&…

OpenHarmony 4.1 Release版本正式发布,邀您体验

春风轻拂的4月&#xff0c;OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;4.1 Release版本如期而至&#xff0c;开发套件同步升级到API 11 Release。 相比4.0 Release版本&#xff0c;4.1 Release版本应用开发的开放能力以全新的Kit维度呈现&#xff0c…

vscode 里python 工程打包成exe的方法

方法&#xff1a;auto-py-to-exe 1、安装 pip3 install auto-py-to-exe PS E:\my selfwork> pip3 install auto-py-to-exe Collecting auto-py-to-exeDownloading auto_py_to_exe-2.43.3-py2.py3-none-any.whl (187 kB)|█████████████████████████…

Node.js进阶——Express

文章目录 一、初识Express1、概念2、安装3、使用3、托管静态资源4、nodemon 二、Express路由1、概念2、使用1&#xff09;简单使用2&#xff09;模块化路由 三、Express中间件1、介绍2、语法1&#xff09;基本语法2&#xff09;next函数作用3&#xff09;定义中间件函数4&#…