【萤火工场GD32VW553-IOT开发板】流水灯
【萤火工场GD32VW553-IOT开发板】流水灯
✨ 本文介绍了萤火工场 GD32VW553-IOT 开发板实现 流水灯 的项目设计流程。
项目介绍
- 环境搭建🍦
- 工程创建🥧
- 硬件连接🍫
- 代码编译🍷
- 固件上传🍹
- 效果演示🍸
环境搭建
🎉介绍了 GD32VW553 开发环境搭建的主要流程。
🎁 使用 GD32 Embedded Builder IDE 编译和调试工程
🎄 工程组由 MBL 和 MSDK 两个工程组成。
- MSDK 包含 WiFi 和 BLE 协议栈、外设驱动及应用程序等;
- MBL 主要负责从两个 MSDK 固件(当前固件和 OTA 固件)中选择正确的运行。
🎯 软件及 SDK 下载安装完成后,开始工程导入和调试流程。
- 双击 EmbeddedBuilder 目录下的 Embedded Builder.exe 启动 IDE;
- 选择 SDK 目录
GD32VW55x_RELEASE
为 workspace,点击 launch 按钮; - 导入 MBL 工程 File 菜单点击
Open Projects from file System
,选择工程路径GD32VW55x_RELEASE\MBL\project\eclipse
- 导入MSDK 工程 File 菜 单 点 击
Open Projects from file System
, 工程路径选择GD32VW55x_RELEASE\MSDK\projects\eclipse\msdk
- 编译MBL工程,右击工程,点击
build project
; - 编译MSDK工程 ,右击工程,依次点击
Build Configurations
->Set Active
-> 选择需要的配置; - 再次右击工程,点击
Build project
; - 生成的镜像烧录固件位于
GD32VW55x_RELEASE_V1.0.2\scripts\images\image-all.in
固件烧录
🎵 采用 ISP 方式上传固件至开发板。
硬件连接
- RXD -> PA6
- TXD -> PA7
- 3V3 -> VCC
- GND -> GND
🔔 示意图
🧵 主控板渲染图参考:GD32VW553-IOT测评 - Chiando .
🍥 模式:将 BOOT0 拉高,USB 转 TTL 工具连接开发板;
🔮 下载并运行 GD32 All-In-One Programmer 软件,设备端口选择、串口参数设定如下,注意设备名称为 GD32VW553HMQ7 ,点击 Connect
按钮(若连接失败,则短按复位键)。
🥪 加载镜像固件、设置起始地址,点击 Download
按钮
🔫 待固件上传结束,点击 Disconnect
断开烧录工具串口连接,将 BOOT0 重新拉低。
🍟 打开串口调试助手,配置串口参数,打开串口,短按 RST 复位按键,即可观察到串口输出数据。
流水灯
🔎 在前面官方固件调试和上传流程无误的基础上,进一步建立流水灯的项目设计。
工程创建
- 运行 Embedded Builder 软件,
File
-New
-Project ...
;
- 选择
C/C++
-C Project
- 点击 Next ; - 设置工程名称、工程路径,目标设备选择
GD32VW553HMQ7
,点击Finished
完成工程创建。
🔋 详见:Chiando - Bilibili .
硬件连接
🎻 考虑到板载资源仅有显示电源 Power 的 LED ,因此需要外接 RGB LED 模块。
💡 RGB LED 模块详见:RGB LED 模块 - 立创开源硬件平台 .
- LED R -> PA3
- LED G -> PA4
- LED B -> PA5
- LED GND -> GND
示意图
工程代码
📊 打开 main.c 文件,修改代码如下
#include "gd32vw55x.h"
#include "systick.h"
#include <stdio.h>
#include "main.h"
//#include "gd32vw553h_eval.h"void led_spark(void)
{static __IO uint32_t timingdelaylocal = 0U;if(timingdelaylocal) {if(timingdelaylocal < 500U) {//gd_eval_led_on(LED2);//gd_eval_led_on(LED2);} else {//gd_eval_led_off(LED2);//gd_eval_led_off(LED2);}timingdelaylocal--;} else {timingdelaylocal = 1000U;}
}int main(void)
{systick_config();/* enable the LED clock */rcu_periph_clock_enable(RCU_GPIOA);/* configure LED GPIO port */gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_3);gpio_bit_reset(GPIOA, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_3);while(1) {/* turn on PA3, turn off PA4 and PA5 */gpio_bit_set(GPIOA, GPIO_PIN_3);gpio_bit_reset(GPIOA, GPIO_PIN_4);gpio_bit_reset(GPIOA, GPIO_PIN_5);delay_1ms(500);/* turn on PA4, turn off PA3 and PA5 */gpio_bit_set(GPIOA, GPIO_PIN_4);gpio_bit_reset(GPIOA, GPIO_PIN_3);gpio_bit_reset(GPIOA, GPIO_PIN_5);delay_1ms(500);/* turn on PA5, turn off PA3 and PA4 */gpio_bit_set(GPIOA, GPIO_PIN_5);gpio_bit_reset(GPIOA, GPIO_PIN_3);gpio_bit_reset(GPIOA, GPIO_PIN_4);delay_1ms(500);}
}
-
右键工程 - 编译程序,生成 Debug 文件夹,右键 bin 文件 -
Show In
-System Explorer
, -
打开系统路径并找到生成的
*.bin
固件
🛠️ 参考:GD32VW553的“芯“动初体验 .
固件上传
📡 采用 ISP 方式上传固件至开发板。
-
将 BOOT0 拉高,USB 转 TTL 工具连接开发板;
-
运行 GD32 All-In-One Programmer 软件;
-
设备端口选择、串口参数设置,设备名称选择 GD32VW553HMQ7 ;
-
加载镜像固件、设置起始地址,点击
Download
按钮; -
待加载完成,跳帽恢复,将 BOOT0 拉低;
-
短按 RST 复位键,程序开始运行。
效果
🎨 RGB 三色 LED 循环点亮,间隔为 500 毫秒。
总结
本文介绍了萤火工场 GD32VW553-IOT 开发板实现 流水灯 的项目设计流程,为相关应用的开发和设计提供了参考。