单片机点亮一个灯程序_单片机基础——使用GPIO输出点亮一个LED灯

df8b6141c6018eff79c0eaf39aa4194e.gif

1. 准备工作

硬件准备

首先需要准备一个小熊派IoT开发板,并通过USB线与电脑连接。

7d149583560bf853598e4806df74a15a.png

2.创建Cube工程

选择芯片型号

打开STM32CubeMX,打开MCU选择器:

513ffe50c3ca2261e20bd26d98cb054e.png

搜索并选中芯片 STM32L431RCT6:
07f71a2534ee857b2b1db039225cd958.png

配置时钟源

  • 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;

  • 如果使用默认内部时钟(HSI),这一步可以略过;

这里我都使用外部时钟:

673161b1ad02d13ebbd593e520efb140.png

配置GPIO引脚

查看原理图,确定控制LED引脚,这里我们的LED使用的是PC13引脚。

f4d96debc7a9f2cb495d9f605c6e909f.png


所以接下来我们选择配置PC13引脚。

a8db2999d69c72a835eb1b0991061972.png

配置时钟树

STM32L4的最高主频到80M,所以配置PLL,最后使HCLK = 80Mhz即可。

51c7347d957f7504d76ca1d6da2ee1ec.png

3.生成MDK工程

生成工程设置

此处设置工程名称、工程保存路径、IDE类型。注意工程路径不要有中文路径。

c5f12f098640a797bae4247dbf90b3a2.png

代码生成设置

a13cfbbce75f596d177fcae215292ead.png

生成代码

点击GENERATE CODE即可生成MDK-V5工程:

a69a47ac2fbaff8320ea885f0a34aa02.png

生成成功

5fd39ab1498abb4c376e6e80978c6e6a.png

4. 在MDK中编写、编译、下载用户代码

编写用户代码

STM32CubeMX生成的代码目录如下:

fef3f0a4111da20d6545245582f065b1.png
进入 MDK-ARM文件夹 目录,打开工程:
0eb338005fa59f173296cab3b5432f32.png


main.c中的main函数中编写简单的用户代码,此处的代码的意思为:

每隔200毫秒翻转一次LED引脚的电平,使LED灯达到闪烁的效果。

开发者可自行修改延时时间来调整闪烁频率

  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
    HAL_Delay(200);
    HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);

  }

编译代码

点击如图所示的按钮编译工程

91d777ae882a293185b80104ea0db10f.png

编译成功

fc2c63034a50ae0792110a4691564d9f.png

设置下载器

点击如图所示按钮打开设置页面

89395dac69d718ce49afaec4d3cd8ca6.png

进行下载设置,选择“ST-Link Debugger”,并点击“Settings”。

b13a9dadc8ca4a01490de975d98b06c0.png
在“Flash Download”菜单下勾选“Reset and Run”选项,已达到烧录程序后单片机自动复位并运行程序的目的。
4e39518e1caa1c3e311cd34a9acc4117.png

下载运行

点击"LOAD"按钮即可烧录代码到单片机中。

c889adae92fb932f837d5e7166dd08ae.png

烧录成功

dd322af21c9e34d0aa0d73e5b92f7ea3.png

实验现象

实验现象如下:

至此,我们已经学会了如何使用STM32CubeMX快速生成MDK的工程,点亮一个LED,接下来一节讲述如何使用 STM32CubeMX初始化GPIO进行按键检测。

86688dec677a41669f398772861a547c.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值