littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于STM32和Renode的按钮LED控制项目

项目简介

本项目基于STM32的NUCLEO - F446RE开发板,借助Renode和Robot Framework,可在无目标硬件的主机PC上对固件进行仿真和测试。通过修改默认repl文件增加蓝色用户按钮功能,按下并释放该按钮能够切换板载LED灯的状态。项目主要利用STM32的HAL库检测按钮状态并控制LED灯亮灭。

项目的主要特性和功能

  1. 支持硬件仿真测试,利用Renode和Robot Framework在主机PC上对固件进行仿真与测试,无需目标硬件。
  2. 可通过外部中断检测按钮的按下和释放,触发中断事件。
  3. 能使用GPIO控制LED灯的亮灭,按钮按下时LED灯状态切换。
  4. 配置了系统时钟和中断,确保程序正确运行,包含电源管理功能,可进入低功耗模式。
  5. STM32F4xx的HAL库支持DMA功能,可提高数据传输效率(本项目未使用)。

安装使用步骤

前提条件

假设用户已经下载了本项目的源码文件,并已安装必要依赖,依赖如下: - GNU Arm Embedded Toolchain 10 - 2020 - q4 - major - GNU Make 4.2.1 - Renode 1.14.0 - STM32CubeMX 6.8.1(仅用于初始项目设置)

操作步骤

  1. 准备好STM32F4xx微控制器开发板(如NUCLEO - F446RE),并连接好LED灯和按钮。
  2. 构建项目:在安装好所需软件包后,打开终端,执行以下命令构建项目: bash cd nucleo-f446re/ButtonLed make 编译后的二进制文件将生成在nucleo-f446re/ButtonLed/build目录下。
  3. 测试项目:从主目录运行以下命令测试预期行为: bash renode-test tests/test-button.robot
  4. 使用Renode进行仿真测试,确保程序在PC上按预期运行。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】