GD32VW553-IOT 开发板点亮LED灯并闪烁
分享作者:wx17490018975620
作者昵称:rong1111
评测品牌:萤火工场
评测型号:GD32VW553-IOT
发布时间:2025-08-25 09:38:32
1
前言
GD32VW553-IOT搭载兆易创新(GigaDevice)的GD32VW553系列MCU,型号GD32VW553KMQ7/QFN40封装。 主频高达160MHz,集成了Wi-Fi 6(IEEE 802.11ax)和 蓝牙5.2(BLE) 双模无线模块。
开源口碑分享内容

一、开发环境

      萤火工场GD32VW553-IOT开发板是一款基于兆易创新的GD32VW553微控制器的开发板,它采用了RISC-V架构,主频可达160MHz,集成了高达4MB Flash及320KB SRAM,另有32KB可配置指令高速缓存(I-Cache),支持IEEE 802.11ax向下兼容IEEE 802.11b/g/n标准 2.4GHz Wi-Fi 6和Bluetooth 5.2无线通信协议,具备高性能、大容量内存配置以及多种安全特性,供电电压1.8V~3.6V,并提供了85℃~105℃宽温选择,适用于智能家居、物联网设备、工业自动化等多个领域。该开发板为开发者提供了丰富的资料和技术支持,是一个理想的探索最新无线通信技术和嵌入式系统设计的平台。

     推荐开发工具:SEGGER(推荐,简单易用)、IAR、EmbeddedBuilder等。

     下载工具:1.USB转串口(硬件),2.GD32AllInOneProgrammer(软件)烧录程序。 官方SDK可在官网下载: https://www.gd32mcu.com/cn/download/7?kw=GD32VW5   3.SEGGER下载网址: https://www.segger.com/downloads/embedded-studio/(我下载的版本是GD32EmbeddedBuilder_1.5.3.31964,用来开发工程及修改代码)

二、注意事项:

1.焊接完排针一定要测量一下是否短路!!!因为板子间距太小了,焊接时很容易短路

2.实物上的BOOT0、BOOT1的上拉电阻都没焊接,所以使用板子上的排针跳线帽去接是没用的。

BOOT0是和PC8接在一起,并且和3V3是紧挨着的,所以我们只需将BOOT0的跳线帽拔掉,然后用镊子短接PC8和3V3即可。

三、主要部分代码如下

#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(LED3);

} else {

gd_eval_led_off(LED2);

gd_eval_led_off(LED3);

}

timingdelaylocal--;

} else {

timingdelaylocal = 1000U;

}

}

int main(void)

{

#ifdef __FIRMWARE_VERSION_DEFINE

uint32_t fw_ver = 0;

#endif

systick_config();

eclic_priority_group_set(ECLIC_PRIGROUP_LEVEL3_PRIO1);

 gd_eval_led_init(LED1);

gd_eval_led_init(LED2);

gd_eval_led_init(LED3);

gd_eval_com_init(EVAL_COM0);

gd_eval_key_init(KEY_TAMPER_WAKEUP, KEY_MODE_GPIO);

#ifdef __FIRMWARE_VERSION_DEFINE

fw_ver = gd32vw55x_firmware_version_get();

printf("\r\nGD32VW55X series firmware version: V%d.%d.%d", (uint8_t)(fw_ver >> 24), (uint8_t)(fw_ver >> 16), (uint8_t)(fw_ver >> 8));

#endif

 printf("\r\nCK_SYS is %d\r\n", rcu_clock_freq_get(CK_SYS));

printf("\r\nCK_AHB is %d\r\n", rcu_clock_freq_get(CK_AHB));

printf("\r\nCK_APB1 is %d\r\n", rcu_clock_freq_get(CK_APB1));

printf("\r\nCK_APB2 is %d\r\n", rcu_clock_freq_get(CK_APB2));

while(1) {

if(RESET == gd_eval_key_state_get(KEY_TAMPER_WAKEUP)) {

delay_1ms(200);

if(SET == gd_eval_key_state_get(KEY_TAMPER_WAKEUP)) {

gd_eval_led_toggle(LED3);

}

}

}

}

四、烧录

1.下载GD32 All In One Programmer,进行烧录。

2.首先先将串口工具与开发板连接接好,烧录接线图详见下图:

拔掉BOOT0的跳线帽(离复位按键远的那个),将串口工具插上电脑,用镊子等工具短接3V3和PC8(注意不要松开),按一下板子上的复位按钮,大约1秒左右松开3V3号PC8之间的短接,然后按图设置即可。

五、最终效果见下图

利用代码中的LED3接实际的led灯。即PA6接led灯正极,led灯正极接开发板的地。

程序烧录的整个过程见文首视频。

全部评论
暂无评论
0/144