蓝桥杯嵌入式创建第一个工程(点亮led灯)

news/2024/7/24 6:28:56 标签: 蓝桥杯, 职场和发展, 物联网, stm32, mcu

蓝桥杯嵌入式创建第一个工程(点亮led灯)

  • 一.keil导入stm32G431RX板级芯片包
    • 1.1 下载板级芯片包
    • 1.2 导入芯片包
      • 1.2.1 我们首先打开keil 点击Pack installer,如图**
      • 1.2.2 然后选中file→import 如图**
      • 1.2.3 选择我们下好的芯片包即可
      • 1.2.4 确定安装成功
  • 二.使用STM32CubeMX配置功能
    • 2.1 我们首先点击ACCESS TO MCU SELECTOR 进入配置界面
    • 2.2 搜索 STM32G431RBT6
    • 2.3 配置时钟
      • 2.3.1 先点击A->Z
      • 2.3.2 配置频率为72M
    • 2.4 初始化LED的GPIO引脚
      • 2.4.1 LED原理图
      • 2.4.2 配置引脚
  • 三. 生成工程
  • 四.点亮LED并下载到开发板
    • 4.1 修改main.c中代码
    • 4.2 配置下载器,下载程序。
  • 五. 实验现象

stm32G431RX_1">一.keil导入stm32G431RX板级芯片包

蓝桥杯嵌入式的板子是STM32G431RBT6,所以我们需要导入对应的板级芯片包,不然单片机程序会报错,允许不起来。因为芯片包里面有着对应的库函数和依赖。(如:我们学习stm32f03时也需要导入对应的板级芯片包)。下面教大家如何导入!!!!

1.1 下载板级芯片包

你们可以去STM意法半导体官网下载,但是是外网,下载较慢,博主这里百度网盘提供给你们。
STM32G431RX芯片包提取

1.2 导入芯片包

1.2.1 我们首先打开keil 点击Pack installer,如图**

在这里插入图片描述

1.2.2 然后选中file→import 如图**

在这里插入图片描述

1.2.3 选择我们下好的芯片包即可

在这里插入图片描述
最后等待它下载完成即可!

1.2.4 确定安装成功

(1)先点击options for Taget

我们可以

(2)再选择Device,发现出现了STM32G4 Series ,说明安装成功!!!

在这里插入图片描述

二.使用STM32CubeMX配置功能

2.1 我们首先点击ACCESS TO MCU SELECTOR 进入配置界面

在这里插入图片描述

2.2 搜索 STM32G431RBT6

因为蓝桥杯嵌入式开发板型号为STM32G431RBT6所以我们在下图进行搜索这样更加快速,搜索完成后再双击型号,如图:
在这里插入图片描述

2.3 配置时钟

2.3.1 先点击A->Z

在这里插入图片描述

  • 然后下拉找到RCC,选择外部高速时钟里面的的无缘晶振,如图:

在这里插入图片描述

2.3.2 配置频率为72M

在这里插入图片描述

2.4 初始化LED的GPIO引脚

2.4.1 LED原理图

在这里插入图片描述 看原理图可知PC8对应着LD1,且给PC8低电平即可点亮LD1

2.4.2 配置引脚

在这里插入图片描述
(1)点击PC8,选择输出模式
在这里插入图片描述
(2)下一步配置PC8属性

(2.1)
![在这里插入图片描述](https://img-blog.csdnimg.cn/4ba3f1e90e0c450b8422d36e155a473d.png
(2.2)
在这里插入图片描述

三. 生成工程

如下图操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/d35154a18c8b47cc9676d4a65b98bd54.png在这里插入图片描述

四.点亮LED并下载到开发板

4.1 修改main.c中代码

在while(1)中添加点亮led代码(给电平)
在这里插入图片描述
然后编译程序
在这里插入图片描述

4.2 配置下载器,下载程序。

如下图操作后,最后按下复位键就能看到现象了。注意一定要按下复位键 !!!

在这里插入图片描述
在这里插入图片描述

五. 实验现象

最后实验到这里也就结束了,实验效果如下图(LD1亮),点点关注!!!.

请添加图片描述


http://www.niftyadmin.cn/n/5035527.html

相关文章

无涯教程-JavaScript - RAND函数

描述 RAND函数返回大于或等于0且小于1的均匀分布的随机实数。每次计算工作表时,都会返回一个新的随机实数。 语法 RAND ()争论 RAND函数没有参数。 Notes 您可以在a和b之间生成一个随机实数,其中 RAND ()*(b-a)a 如果要使用RAND生成随机数,但又不想每次计算单元格时都更改…

爬虫 — Scrapy 框架(二)

目录 一、Scrapy 核心文件1、spider2、Request3、构造 post 请求4、response 二、案例三、Scrapy 下载中间件1、执行顺序2、使用方法3、Download Middlewares 默认方法4、代理 IP4.1、工作原理4.2、分类4.3、查看 IP 地址4.4、常用代理 四、Scrapy 爬虫中间件五、Scrapy 下载图…

Linux 用户注意!GNOME 45 将影响所有扩展!

GNOME 45 是一次重要的升级,但对扩展的影响并不令人满意! 每当 GNOME 升级,总会有一些扩展遭遇问题,这点并不新鲜。但如今,到了 GNOME 45,每个扩展都将面临问题! 那么,究竟是什么原…

项目部署流程,域名解析,备案

每日鸡汤:每个你想要学习的瞬间都是未来的你像自己求救 假如你在部署一个网站域名是https://www.test.com 除了你要打包部署到一个服务器上之后,还需要有以下几个准备 购买域名www.test.com购买www.test.com的ssl证书,https协议用让架构组的…

华清远见第六课程day10作业

保纯 //保存按钮对应的槽函数 void Widget::on_saveBtn_clicked() {QString fileName QFileDialog::getSaveFileName(this, "保存文件", "./", "All(*.*);;Images (*.png *.xpm *.jpg);;Text files(*.txt);;XML …

C# 静态类和sealed类(密封类)的区别

网上看到很多文章写静态类,和密封类,但是鲜有它们的对比总结,在此简单总结一下: 静态类(Static Class): 静态类不能被实例化,其成员都是静态的,可以通过类名直接访问。静…

React+Node——next.js 构建前后端项目

一、安装全局依赖 npm i -g create-next-app二、创建next项目 create-next-app react-next-demo //或 create-next-app react-next-demo --typescript三、加载mysql依赖 npm i -S mysql2四、运行项目 npm run dev五、创建db文件目录,目录下创建index.ts import…

java字符串训练与学习

package com.itheima;import java.util.StringTokenizer;public class 字符串训练学习 {public static void main(String[] args) {String s new String("HelloWorld");System.out.println(s);System.out.println(s.length());//创建字符串//String s new String(&…