GD32F407VET6
| Name | Value |
|---|---|
| 型號 | GD32F407VET6 |
| 下載 | SWD |
| 串口 | USART1 |
| 輸入晶振 | 25M |
HAL庫測試
-
選擇STM32F407VE庫
-
配置SYS為SW,RCC為HSE

-
串口1啟用異步通信
-
生成代碼
-
啟用microlib庫,重寫PRINTF庫
-
下載選擇JLINK SW,下載測試

標准庫測試
標准庫采用GD的庫
-
仿照HAL庫,生成模板。所需文件從GD32F4xx_Firmware_Library中查找
模板文件結構如下
└───demo ├───Drivers │ ├───CMSIS │ │ └───GD │ ├───GD32F4xx_standard_peripheral │ └───GD32F4xx_usb_library ├───Inc ├───MDK-ARM └───Src
-
修改include路徑,晶振,debug配置等參數
-
配置
USART1(由於某種大家都知道的原因,GD系列編號都是從0開始的)USART0。在examples中有可以copy的代碼void usart1_init(void) { /* enable GPIO clock */ rcu_periph_clock_enable(RCU_GPIOA); /* enable USART clock */ rcu_periph_clock_enable(RCU_USART0); /* configure the USART0 Tx pin and USART0 Rx pin */ gpio_af_set(GPIOA, GPIO_AF_7, GPIO_PIN_9); gpio_af_set(GPIOA, GPIO_AF_7, GPIO_PIN_10); /* configure USART0 Tx as alternate function push-pull */ gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_9); gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9); /* configure USART0 Rx as alternate function push-pull */ gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_10); gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10); /* 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); } -
重寫printf函數
int fputc(int ch, FILE *f) { usart_data_transmit(USART0, (uint8_t)ch); while(RESET == usart_flag_get(USART0, USART_FLAG_TBE)); return ch; } -
編譯運行

