一、注意事项:
1.焊接完排针一定要测量一下是否短路!!!因为板子间距太小了,焊接时很容易短路
2.
实物上的BOOT0、BOOT1的上拉电阻都没焊接,所以使用板子上的排针跳线帽去接是没用的。
但是我们在看芯片数据手册时可以看到,如果用串口下载程序时BOOT0需要为1。

但是板子有一个很巧妙的设计,BOOT0是和PC8接在一起,并且和3V3是紧挨着的,所以我们只需将BOOT0的跳线帽拔掉,然后用镊子短接PC8和3V3即可(这种操作感觉比用跳线帽配置更简单)

二、串口测试程序
编译软件我用的是EmbeddedBuilder点击即可下载
本来还想加个点灯的程序的,但是发现开发板上没有多余的灯让我去点,所以现在就只有串口了
串口发送程序是在官方例程上改的,因为没有灯所以删除了官方的灯闪烁代码
/********主函数代码*******/
#include "gd32vw55x.h"
#include "systick.h"
#include <stdio.h>
#include "main.h"
#include "gd32vw553h_eval.h"
int main(void)
{
/* configure systick */
systick_config();
eclic_priority_group_set(ECLIC_PRIGROUP_LEVEL3_PRIO1);
gd_eval_com_init(EVAL_COM0); //tx pb15 rx pa8
/* print out the clock frequency of system, AHB, APB1 and APB2 */
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)
{
int i;
for(i=0;i<100;i++)
{
delay_1ms(1000);
printf("now: %d\r\n", i);
}
}
}/*******串口初始化代码********/
void gd_eval_com_init(uint32_t com)
{
/* enable GPIO clock */
uint32_t COM_ID = 0U;
if(EVAL_COM0 == com)
{
COM_ID = 0U;
}
rcu_periph_clock_enable(RCU_GPIOB);
rcu_periph_clock_enable(RCU_GPIOA);
/* enable USART clock */
rcu_periph_clock_enable(COM_CLK[COM_ID]); //RCU_USART0
/* connect port to USARTx_Tx */
gpio_af_set(GPIOB, GPIO_AF_8, COM_TX_PIN[COM_ID]);
/* connect port to USARTx_Rx */
gpio_af_set(GPIOA, GPIO_AF_2, COM_RX_PIN[COM_ID]);
/* configure USART Tx as alternate function push-pull */
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, COM_TX_PIN[COM_ID]);
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, COM_TX_PIN[COM_ID]);
/* configure USART Rx as alternate function push-pull */
gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, COM_RX_PIN[COM_ID]);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, COM_RX_PIN[COM_ID]);
/* USART configure */
usart_deinit(com);
usart_baudrate_set(com, 115200U);
usart_receive_config(com, USART_RECEIVE_ENABLE);
usart_transmit_config(com, USART_TRANSMIT_ENABLE);
usart_enable(com);
}该函数实现功能:上电首先发送system, AHB, APB1 and APB2时钟频率,然后每100ms发送一个数字
效果截图:
三、烧录
1.下载GD32 All In One Programmer
2.首先先将串口工具与开发板连接接好:3V3<->3V3,GND<->GND,TX<->PA8,RX<->PB15
拔掉BOOT0的跳线帽(离复位按键远的那个),将串口工具插上电脑,用镊子等工具短接3V3和PC8(注意不要松开),按一下板子上的复位按钮,大约1秒左右松开3V3号PC8之间的短接,然后按图设置即可

本篇文章就到此结束了,有什么问题大家可以在评论区讨论,演示视频已经上传B站了

