这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let'sDo第1期任务手势翻页笔】——基本作业:开发环境搭建以及点亮LED、

共3条 1/1 1 跳转至

【Let'sDo第1期任务手势翻页笔】——基本作业:开发环境搭建以及点亮LED、串口输出

菜鸟
2024-07-14 20:04:31     打赏

一、前言

非常感谢EEPW举办这次活动,这已经是我第二次参加论坛活动了。

在活动中,让我不仅学到了许多新知识,还结识了许多志同道合的朋友。通过与大家讨论问题以及群里老师的帮助,我取得了很大的进步。

二、开发板介绍:STM32H503RB开发板

       STM32 Nucleo-64板为用户提供了一种可负担的灵活方法,通过选择STM32微控制器提供的各种性能和功耗特性组合来尝试新概念并构建原型。对于兼容板,外部SMPS可显著降低运行模式下的功耗。

        关于该开发板的详情请大家移步我的开箱贴,里面有更具体介绍:【Let'sDo第1期任务手势翻页笔】——开箱帖-电子产品世界论坛 (eepw.com.cn)

三、开环境介绍

此次开发按照个人习惯 Keil5+STM32CubeMX 的开发环境进行此次开发。

大家也可以根据个人喜好选择其他开发环境:

          IAR Embedded Workbench for ARM:专业级开发环境,适用于大型项目。

          STM32CubeIDE:ST官方提供的集成开发环境,免费且支持多种STM32系列。

          Visual Studio Code配合PlatformIO插件:轻量级且高度可定制的开发环境,适合喜欢轻便IDE的开发者。

四、任务介绍

基本作业:
      1.使用STM32CubeMX图形化配置软件,配置STM32H503RB芯片的内部参数,外设参数,引脚分配等功能;

2.在学习完成全部讲解与实验后,在STM32H503RB开发板成功烧录程序,并编写软件代码实现LED灯周期闪烁,串口打印字符串"Hello EEPW & DigiKey! Hello STM32H503!";

五、实现分析

这个任务比较简单的,在课程中,老师讲解了如何在STM32CubeMX图形化配置软件中配置外部晶振,调试口,GPIO引脚、调试串口的配置。

学习到了:

1.如何setup编程的初始环境,这里提一下,图形化配置软件是真的方便,而不用手动去copy文件构建环境。

2、如何把引脚配置为输出模式以及相关设置。

3、如何配置调试串口


六、所需设备

       STM32H503RB开发板

       USB C to A数据线一根(要注意选择可以进行数据传输的,仅有供电功能的无法下载)

安装有Keil5+STM32CubeMX软件的电脑进行程序开发调试

七、环境搭建

此处需要注意:程序的安装目录下最好不要有中文!!!

此处需要注意:程序的安装目录下最好不要有中文!!!

此处需要注意:程序的安装目录下最好不要有中文!!!

  1. 下载安装软件

    1. 下载并安装Keil uVision5(简称Keil5):访问Keil官网获取最新版本的uVision IDE。社区版好像已经免费。下载并安装适用于ARM Cortex-M微控制器的Keil MDK-ARM。

    2. 下载STM32CubeMX:STM32官方提供的图形化配置工具,用于初始化外设设置,可从ST官网下载。

  2. 配置硬件驱动

    1. 安装ST-LINK驱动。

    2. ST-LINK调试器/编程器集成在开发板上。

  3. 配置硬件驱动

    1. 安装ST-LINK驱动。

    2. ST-LINK调试器/编程器集成在开发板上。

  4. 其他准备:

    1. STM32Cube_FW_H5_V1.2.0软件包:这个是STM32H503的软件包,配置工具配置好管脚之后,通过软件包导出代码。

    2. Keil需要安装H503的PACK:Keil.STM32H5xx_DFP.1.3.0.pack。

      1. 若是比较新的Keil5,可直接在Keil5中安装;

      2. 若不是最新的,可在通过下方链接下载,或者使用EEPW资料包中的,或者在ST官网中下载,直接双击安装即可。

    至此,便可

    利用STM32CubeMX创建新工程

      1. 启动STM32CubeMX

        • 打开STM32CubeMX,点击“New Project”。

      2. 选择MCU

        • 在“Select a Device”窗口中,选择“STM32H503xx”,然后选择具体的型号“STM32H503RB”。

      3. 配置外设

        • 根据项目需求,在左侧的外设列表中选择要使用的外设,并进行相应的配置。例如,配置时钟系统、GPIO、串行通信等。

      4. 生成代码

        • 配置完成后,点击“Generate Code”。这会生成一个包含STM32Cube HAL库和初始化代码的工程模板。

  5. 打开Keil5

      • 在Keil5中,选择“File”菜单下的“New uVision Project”。

      • 导入STM32CubeMX生成的代码

      • 浏览并选择STM32CubeMX生成的工程文件夹中的.uvprojx文件。

八、硬件原理

通过以上步骤,便已经搭建好了开发环境,下面我们来分析硬件原理:

单LED灯点亮:单片机的GPIO引脚可以配置为输入或输出。为了点亮LED,必须将相应的引脚配置为输出模式。

如果LED的正极连接到GPIO引脚,负极通过电阻接地,那么设置GPIO引脚为低电平(0)将点亮LED;如果LED的负极连接到GPIO引脚,正极通过电阻接电源,那么设置GPIO引脚为高电平(1)将点亮LED。

该开发板LED所在位置以及硬件原理图:

image.png

      九、软件编程

此处不得不提到STM32CubeMX:STM32官方提供的图形化配置工具,用于初始化外设设置。

打开STM32CubeMX,点击“ACCESS TO MCU SELECTOR”开始创建工程

image.png在commercial part number栏中选择STM32H503RBT6。

image.png根据自己的需要配置时钟,这里配置为:High Speed Clock(HSE)设置为Crystal/Ceramic Resonator。点击“Clock Configuration”,设置时钟频率:晶振频率设置为24MHz,选择HSE通道,最高频率设置为250MHz

image.png

image.png

点击“Trace and Debug“- ”Debug“,设置Debug模式为Serial Wire。

image.png

点击“Pinout& Configuration”将PA5配置为GPIO_Output。

image.png

点击“Connectivity”-“USART3”,设置USART3 Mode为Asynchronous;点击“Parameter Settings”,设置Baud Rate为115200 Bits/s;点击“NVIC Settings”,勾选“USART3 global interrupt“为enable。

image.png

在Project Manager填写Project Name,设置ToolChain/IDE为MDK-ARM,设置Min Version为V5.37。

image.png

点击“Generate Code“即可完成代码的生成。

点击“Open Project”便可以直接使用Keil打开该工程。

image.png

image.png

    十、编写代码

在生成的代码中,我们就可以编译了。

while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
      HAL_Delay(500);  //延时 
      HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);  //PA5
  }

此处需要注意:所有的代码都要写在注释区BEGIN和END中间!!!

此处需要注意:所有的代码都要写在注释区BEGIN和END中间!!!

此处需要注意:所有的代码都要写在注释区BEGIN和END中间!!!

此时点击编译和LOAD即可看到LED灯开始闪烁。

image.png

BF440FA3C2CCF08580B8494B20454A68.png

此时加入HAL_UART_Transmit(&huart3, (uint8_t*)hello_str, strlen( hello_str),100);  和引入相关头文件#include "string.h"  

  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
      HAL_Delay(500);  //延时 
      HAL_UART_Transmit(&huart3, (uint8_t*)hello_str, strlen( hello_str),100);  
      HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);  //PA5
  }

即可完成串口输出

效果演示

BF440FA3C2CCF08580B8494B20454A68.png




image.png




关键词: 手势翻页笔     LED点亮     串口输出    

专家
2024-07-14 22:43:03     打赏
2楼

感谢分享


菜鸟
2024-07-15 04:09:20     打赏
3楼

视频:https://www.bilibili.com/video/BV1jub2esE8i/


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]