GD32F303固件库开发(7)----printf打印配置

发布者:温柔之风最新更新时间:2024-11-19 来源: elecfans关键字:GD32F303  固件库开发  printf 手机看文章 扫描二维码
随时随地手机看文章

概述

本章主要配置printf进行打印。 查阅手册可以得知,PA9、PA10为串口0的输出和输入口。

在这里插入图片描述

样品申请

https://www.wjx.top/vm/wFGhGPF.aspx#


硬件准备

这里准备了2块开发板进行验证,分别是GD32303C_START开发板。

在这里插入图片描述

keil配置

microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。 某些库函数的运行速度也比较慢,如果要使用printf(),必须开启。

在这里插入图片描述

串口初始化

对串口进行配置。


/* 使能GPIOB时钟*/

    rcu_periph_clock_enable(RCU_GPIOA);    

        /*设置PA0为浮空输入 */

        gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_0);



  /* 使能GPI0A,用PA9、PA10为串口 */

    rcu_periph_clock_enable(RCU_GPIOA);


    /*使能串口0的时钟 */

    rcu_periph_clock_enable(RCU_USART0);


    /*配置USARTx_Tx(PA9)为复用推挽输出*/

    gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);


    /*配置USARTx_RxPA9)为浮空输入 */

    gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);


    /* USART 配置 */

    usart_deinit(USART0);//初始化USART0

    usart_baudrate_set(USART0, 115200U);//设置串口USART0波特率为115200

    usart_receive_config(USART0, USART_RECEIVE_ENABLE);//启用USART0接收

    usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);//启用USART0发送

    usart_enable(USART0);//使能USART0

串口重定向

/* retarget the C library printf function to the USART */

int fputc(int ch, FILE *f)

{

    usart_data_transmit(USART0, (uint8_t)ch);

    while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));

    return ch;

}

打印测试

while(1){

            printf('串口0打印!');

            delay_1ms(1000);

            }


测试结果

在这里插入图片描述


关键字:GD32F303  固件库开发  printf 引用地址:GD32F303固件库开发(7)----printf打印配置

上一篇:GD32F103C8T6 Uart3无法发送数据
下一篇:最后一页

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved