GD32F4 hal庫以及GD標准庫串口測試


GD32F407VET6

Name Value
型號 GD32F407VET6
下載 SWD
串口 USART1
輸入晶振 25M

HAL庫測試

  1. 選擇STM32F407VE庫

  2. 配置SYS為SW,RCC為HSE

    image

  3. 串口1啟用異步通信

  4. 生成代碼

  5. 啟用microlib庫,重寫PRINTF庫

  6. 下載選擇JLINK SW,下載測試

    image

標准庫測試

標准庫采用GD的庫

  1. 仿照HAL庫,生成模板。所需文件從GD32F4xx_Firmware_Library中查找

    模板文件結構如下

    └───demo
        ├───Drivers
        │   ├───CMSIS
        │   │   └───GD
        │   ├───GD32F4xx_standard_peripheral
        │   └───GD32F4xx_usb_library
        ├───Inc
        ├───MDK-ARM
        └───Src
    

    image

  2. 修改include路徑,晶振,debug配置等參數

  3. 配置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);
    }
    
  4. 重寫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;
    }
    
  5. 編譯運行

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM