学习GD32C113 -- 创建工程
(一):
GD 虽然有提供类似 ST 的 CubeMX 的图形化配置工具 GD32 Embedded Builder,实际体验下来,感觉还是不太行,支持型号也不多:

那要如给自己的板子创建 GD32C113 的软件工程呢,这里介绍一种方法。
(二):
首先下载 GD32C113 的固件库(SDK),GD32C113 官网可以 下载(GD32C113 | 兆易创新 GigaDevice | 官方网站):

下载下来解压后,里面文件如下:

里面的各个文件/文件夹内容如下:
- Docs 里面有官方开发板原理图、固件库使用文档
- Examples 里面是是外设例程,里面所提供例程只有源码,没有工程,所以无法直接测试

- Firmware 里面是库文件
- Template 是工程模板,里面有可以直接打开的工程,但是不一定适合自己的板子
- Utilities 是跟官方开发板相关的一些源代码
我这个方法是结合工程模板(Template 目录里面的工程)和example 里面的例程来做,
(三):
我是用的板子是这个:

没有板载 LED,但是有个 daplink,有 USB CDC,可以测试 USART,使用的是 USART0,外部高速晶体振荡器时钟 (HXTAL )是 8MHZ 晶振,
我需要的是 USART0 能输出数据,刚好 固件库 Examples 里面的 USART 例程里面的 printf 正是使用 usart0

(四):
把 Examples\USART\Printf 目录下面的所有文件拷贝到 Template 目录下面,替换 Template 目录下面原来的文件,然后打开 Template 里面的工程
然后还要做以下修改:
1、把板子所用型号改为该板子所用型号 GD32C118CBT6 :

2、修改下调试器,选用 CMSIS-DAP Debugger:

3、然后确认下该工程所用时钟,时钟源使用 HXTAL,PLL 到 120M , HXTAL 使用 8M 跟板子对的上,不用修改,

然后编译下载,用调试助手打开对应 COM 口,可以看到 以下字符串的话,没看到可以按下复位键,那就给这个板子创建了一个基本的工程了,

以后要做其他的就可以在这个工程的基础上来做了,
(五):
看下初始化 GD32C113 的 usart 需要基本步骤:
1、使能对应 usart 跟 相应 IO 的时钟:
/* enable GPIO clock */
rcu_periph_clock_enable(RCU_GPIOA);
/* enable USART clock */
rcu_periph_clock_enable(RCU_USART0);
2、初始化相应 IO:
/* connect port to USARTx_Tx */
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);
/* connect port to USARTx_Rx */
gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
3、最后初始化 usart 外设,如波特率、使能接收、发送等:
/* USART configure */
usart_deinit(USART0);
usart_baudrate_set(USART0, 115200U);
usart_receive_config(USART0, USART_RECEIVE_ENABLE);
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
usart_enable(USART0);
本文来自博客园,作者:哈拎,转载请注明原文链接:https://www.cnblogs.com/halin/p/19723046
浙公网安备 33010602011771号