关于STM32G431RBT6的学习

这篇具有很好参考价值的文章主要介绍了关于STM32G431RBT6的学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习STM32G431RBT6

初入茅庐之第一次CubeMX的使用,工程结构框架的创建与LED的点亮。


温馨提示:本人第一次创作,也是第一次学习有关嵌入式的知识,本文内容均为个人见解,如有错误,欢迎指正。


一、CubeMX的使用以及结构框架的创建


关于STM32G431RBT6的学习,嵌入式硬件
首先打开STM32CubeMX,创建一个新的工程,点击File→New Project。

关于STM32G431RBT6的学习,嵌入式硬件
在Part Number中直接搜索STM32G431RB。我们选择STM32G431RBTx即可。
关于STM32G431RBT6的学习,嵌入式硬件接下来我们开始创建结构框架并为点亮LED做准备。首先在左边选项栏中找到System Core→RCC关于STM32G431RBT6的学习,嵌入式硬件
一般情况下选择HSE或者LSE均可,但对于LED的话我们需要用到PC14和PC15这两个引脚,但如果选择LSEpin脚PC14和PC15均被占用,为了不更加复杂,我们使用HSE→Crystal/Ceramic Resonator,这是为了选择使用外部晶振。

关于STM32G431RBT6的学习,嵌入式硬件

对于外部晶振STM32G431RBT6的外部晶振为24Mhz,而且我们一般使用的系统时钟为80Mhz

关于STM32G431RBT6的学习,嵌入式硬件
关于STM32G431RBT6的学习,嵌入式硬件

工程名字我们设为LED,新建一个文件夹LED_TEST,放置工程。对于Toolchain/IDE,我们用的keil uVersion5来编译的软件,因此我们选择MDK-ARM,Min Version我们选择V5,图中打叉的位置把对号取消掉,因为我们只有1.2.0的包,点击Browse选择V1.2.0的包。
关于STM32G431RBT6的学习,嵌入式硬件
接下来我们在Code Generator中选择如图选项,这是为了生成.c与.h文件。整个结构框架我们差不多就创建好了。关于STM32G431RBT6的学习,嵌入式硬件
接下来我们为了点亮LED,我们要返回来设置PIN口,LEDPIN口为PC8~PC15还有一个PD2,类似于锁存器的锁,当其为高电平时,锁被打开,Q=D,也就是对应PC8的值赋给1Q等等,当其为低电平时,Q会保持不变,他不会因为D是高或低电平而改变。
关于STM32G431RBT6的学习,嵌入式硬件
我们根据上图依次为PC8~PC15以及PD2,左键并选择(推挽)输出即可。再点击创建即可,我们对于LED的结构框架我们创建完毕,接下来我们要写程序了。

二、LED的点亮

我们打开我们创建的结构框架文件,我们可以对其创建一个副本(以防万一)我们打开结构框架文件,首先进行编译。发现会有一行代码报错,

HAL_PWREx_DisableUCPDDeadBattery();

上网搜索查到这好像是1.2.0包的一个bug,我们可以对其直接注释掉,因为它并不影响。
关于STM32G431RBT6的学习,嵌入式硬件

我们先点击魔术棒,更改debug的设置选择CMSIS-DAP Debugger。接下来我们来编程led的代码,代码如下:

1.led.c

代码如下:

#include "led.h"
void led_control(uint8_t led_ctrl1)
{
	HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
		
	HAL_GPIO_WritePin(GPIOC,led_ctrl1<<8,GPIO_PIN_RESET);
	HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);

}

2.led.h

代码如下:

#ifndef _LED__H
#define _LED__H
#include "main.h"
void led_control(uint8_t led_ctrl1);
#endif

3.main.c

代码如下:

#include "led.h"

for(int i=0;i<8;i++)
	  {
		  led_control(0x01<<i);
		  HAL_Delay(1000);
	  }

只需在main.c里面添加上面两行代码即可,当然这个是流水灯,对于点灯我们只需要调用led.c里面的函数并进行赋值即可,类似于下面这种,流水灯赋值的形式,上面那种流水灯则是用了移位的方式,代码更简洁一点。

代码如下:

#include "led.h"
	  led_control(0x01);
	  HAL_Delay(1000);
	  led_control(0x02);
	  HAL_Delay(1000);
	  led_control(0x04);
	  HAL_Delay(1000);
	  led_control(0x08);
	  HAL_Delay(1000);
	  led_control(0x10);
	  HAL_Delay(1000);
	  led_control(0x20);
	  HAL_Delay(1000);
	  led_control(0x40);
	  HAL_Delay(1000);
	  led_control(0x80);
	  HAL_Delay(1000);

总结

以上就是今天我主要学习的内容,本文仅仅简单介绍了stm32CubeMX的使用以及工程结构框架的建立以及流水灯实现的两种方式。(注:本人只是个学生,如有错误请指正!谢谢您的阅读!)文章来源地址https://www.toymoban.com/news/detail-811521.html

到了这里,关于关于STM32G431RBT6的学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习

    首先学习了解一下蓝桥杯嵌入式CT117E-M4开发板的主控芯片STM32G431RBT6,本文仅为个人学习成果总结,如有错误,恳请指正。 上图为STM32CubeMX选型界面,如图可以看出STM32G431RBT6具有以下特点和硬件集成。 采用Cortex-M4 32位RISC核心架构,工作频率最高可达170Mhz。 128kBytes的FLASH,32

    2023年04月09日
    浏览(63)
  • 蓝桥杯电子类嵌入式(STM32G431)备赛学习记录(一)——LED

    2023年2月10日,距离第十四届蓝桥杯正式比赛还有不到两个月的样子,从今天开始正式备赛。之前博主有看过野火的教程,学的是STM32F103。蓝桥杯嵌入式组现在用的是STM32G431,板子在二手平台上买的,视频参考b站up主01Studio相关教程(后面提到简写为教程)。学习的模块按照教

    2024年01月25日
    浏览(72)
  • 蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

            在蓝桥杯嵌入式官方给我们提供好了,LCD显示的底层源码,我们只需要,记住里面的API函数,会用这些函数就行。         在官方给的资料中找到这个文件名字DK117_G4 Data Packet-开发板驱动文件里面就是所有的底层文件有两种类型,一种是基于HAL库的一种是标准库

    2024年02月09日
    浏览(63)
  • [蓝桥杯嵌入式]STM32G431——第十二届第一场省赛停车计费系统真题及程序设计代码详解

    最近,我报名了今年的蓝桥杯嵌入式比赛,为此刷了一下以往的真题。以下是我对十二届蓝桥杯省赛真题的一些思路和心得,还有一些具体代码的实现。 1、相关模块 第十二届比赛主要用到的模块包括:LED、KEY、LCD、TIM、USART 2、重难点分析 这道题主要目的是做一个停车管理

    2024年01月18日
    浏览(96)
  • 蓝桥杯嵌入式STM32 G431 hal库开发速成——ADC与DAC

    模数转换器(ADC):它将模拟信号转换为单片机能够处理的数字信号。在很多应用中,比如温度传感器、压力传感器等,信号最初都是模拟形式的。ADC 读取这些模拟信号,然后将它们转换为数字形式,以便单片机可以读取和处理。 数模转换器(DAC):它执行相反的操作,将

    2024年02月01日
    浏览(63)
  • 解决STM32G431输出PWM扫频消失问题

            最近练习蓝桥杯嵌入式的题目,需要输出一个PWM扫频的信号,遇到了PWM变频率时有几率消失的问题, 下面来研究下原因和解决方案。          由于Keil怎么改设置都不肯给我看外设寄存器,下面用CubeIDE复现下PWM消失的情况,用ST-Link调试。         时钟倍频

    2024年04月10日
    浏览(49)
  • STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解

    📌相关篇《【硬件开源电路】STM32G070RBT6开发板》 🛠STM32CubeMX工程配置过程演示 📢Keil工程完成业务代码以及烧录演示放在资源中,gif文件过大无法上传。 📚工程概要 本工程是基于STM32CubeMX工具来配置项目,功能需求:在PA0引脚接入一个外部模拟量信号(单片机能承受的电

    2024年02月01日
    浏览(45)
  • 解决keil5无法生成axf文件(国信长天STM32G431R8)

    我安装了keil5和STM32cubemx,这两个软件都是从官网下载,速度挺快的,参考博文如下: 【STM32】STM32 CubeMx使用教程一--安装教程_Z小旋的博客-CSDN博客 这里需要注意的就是Java版本一定要选对,我一般的处理方式就是全都 下载最新 的,基本上就不会出错。  Keil

    2024年02月05日
    浏览(57)
  • 专门针对数字电源相关应用,STM32G474CBT3/ STM32G474QET3/ STM32G474RBT3/ STM32G484CBT3带有DSP和FPU指令的混合信号MCU【嵌入式】

    STM32G4系列集成了运行于170 MHz的32位Arm® Cortex®-M4内核(支持FPU和DSP指令),以及3种不同的硬件加速器:ART Accelerator™、CCM-SRAM程序执行加速器,以及数学运算加速器。STM32G4系列还提供: 丰富的高级模拟外设(比较器、运算放大器、DAC) 支持硬件过采样的ADC(16位分辨率) 具

    2024年01月19日
    浏览(60)
  • STM32 G431

    1.家族 STM32:32代表32位MCU,有32根地址线,可以寻找4GB的地址 STC15单片机是8位CPU,地址以16进制表示:0x_ _ ; STM32: 0x_ _ _ _ _ _ _ _ 容量为 2^32 = 4,294,967,296 ≈ 4×10^9 (其中 1GB = 10^9) 2.产品类别 G: 支持DSP和FPU指令的可适用信号应用 像正点原子的F4,F:基础型,通用型 3.特点功能 103

    2024年02月03日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包