你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G431RBTx基本模块 LED

[复制链接]
STMCU小助手 发布时间:2023-3-2 10:16
前言
本人是准备参加蓝桥杯的一名普通大二学生,看到学长在CSDN上的写的备赛博客写的非常好,本人也想效仿他,第一次写博客写的不好请原谅。

一、软件准备
1、MDK4或者MDK5(可到官网或者其他途径获取,本人使用的是MDK5)
2、Cubemx(可到官网自行下载)
3、安装G4的包(1.2.0,1.3.0以及1.4.0均可)
4、串口调试助手(COM)

二、LED

1.G431RETx的原理图以及我们需要配置的元素
LED部分原理图:

a1b9b2ca7775496b97076575de0fffb8.png


分析:
上图显示了LD1-8的所在引脚位置,我们知道如果要控制LD则要将LE(Load Enable)引脚用PD2拉高,拉高后LD1-8就受PC8-PC15的控制了(此处为低电平电量)


2.CubeMx的配置步骤
注:若对Cubemx的配置方法不明白的,可以参看(这个是学长写的)
RCC配置如下:

21a8135fbff649adacb002b2d5516f9d.png

7f6be32a90974cf588778727cebcd8aa.png

IO配置:
PD2,PC8-PC15设置为GPIO_Output输出模式,PD2设置为默认低电平、PC8-PC15默认高电平

6ea7685a701d4c889a57c352b8ffa49d.png

a148e023322f40bd8c4f18f826bdb428.png

3.别忘了设置调试接口为SW

c3f75f06e7154654ad6c5741fd8c7b0d.png

4.生成工程

1b7c638391794285a59e00bc5a1381d2.png

f146859a0dbe4db0ae0868a74b7a617c.png

5.测试代码


b34fd0a46b144269a9bd7dc0bf5bfc88.png

在工程文件夹中新建一个bsp文件夹存放自己写的板级支持包。

d3a86e3663a84fd79bb3b8c62776d279.png

创建一个led.c和led.h文件

e39d72df82d54bf1881ccc524a52be0d.png

创建一个新组,并命名为bsp。

9b790225d5f84f9faeb8425a1550e93c.png

再在bsp里面添加刚刚自己创建的两个文件
led.c代码为:
  1. #include "led.h"

  2. void LED_Disp(unsigned char dsLED)
  3. {
  4.         HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_SET);
  5.         HAL_GPIO_WritePin(GPIOC, dsLED << 8, GPIO_PIN_RESET);
  6.         HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
  7.         HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
  8. }
复制代码

led.h代码为:
  1. #ifndef __LED_H__
  2. #define __LED_H__

  3. #include "main.h"

  4. void LED_Disp(unsigned char dsLED);

  5. #endif

复制代码

main.c中main函数部分代码:
  1. int main(void)
  2. {
  3.   /* USER CODE BEGIN 1 */
  4.         unsigned char i = 0;
  5.   /* USER CODE END 1 */

  6.   /* MCU Configuration--------------------------------------------------------*/

  7.   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  8.   HAL_Init();

  9.   /* USER CODE BEGIN Init */

  10.   /* USER CODE END Init */

  11.   /* Configure the system clock */
  12.   SystemClock_Config();

  13.   /* USER CODE BEGIN SysInit */

  14.   /* USER CODE END SysInit */

  15.   /* Initialize all configured peripherals */
  16.   MX_GPIO_Init();
  17.   /* USER CODE BEGIN 2 */
  18.         LED_Disp(0x00); //LED全部熄灭
  19.   /* USER CODE END 2 */

  20.   /* Infinite loop */
  21.   /* USER CODE BEGIN WHILE */
  22.   while (1)
  23.   {
  24.     /* USER CODE END WHILE */

  25.     /* USER CODE BEGIN 3 */
  26.                 LED_Disp(0x01 << i++);
  27.                 i %= 8;
  28.                 HAL_Delay(100);
  29.   }
  30.   /* USER CODE END 3 */
  31. }
复制代码

别忘了设置引用文件的路径

c518d0322b934614810ce27af00c84a1.png

3df911c77bf94c0fb035ea318f844ba5.png

三、效果展示

20cfebb5c4f540a7a871b9ffdaaf2798.gif
————————————————
版权声明:火花页.

收藏 评论0 发布时间:2023-3-2 10:16

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版