0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2022-11-28 17:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概述

本章主要配置printf进行打印。 查阅手册可以得知,PA9、PA10为串口0的输出和输入口。需要GD样片的可以加群申请:615061293。

在这里插入图片描述

样品申请

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);
            }

测试结果

在这里插入图片描述

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 固件库
    +关注

    关注

    2

    文章

    98

    浏览量

    15691
  • Printf
    +关注

    关注

    0

    文章

    84

    浏览量

    14860
  • gd32f303
    +关注

    关注

    4

    文章

    38

    浏览量

    4271
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    qemu仿真sc594 arm核运行最简单demo,printf打印是怎么回事?

    使用cces qemu运行以上最简单demo,printf内容未打印,请帮忙看看原因,配置如下 Using CCES QEMU to run the simplest demo above
    发表于 05-12 07:04

    求助 GD32F303CCT6 + ADAU1701 的I2C不能通信

    的 SigmaStudio 工程是否需要特殊配置才能让外部 MCU 通过 I2C 控制? 有没有类似\"启用外部控制\"的选项需要勾选? GD32F303 的 I2C0 重映射到 PB8/PB9
    发表于 05-10 11:02

    基于RT-Thread与兆易创新GD32F527的工业级网络-CAN透传网关设计与实现 | 技术集结

    目录系统概述RT-Thread使用情况硬件框架软件架构软件模块详解功能展示链接地址1系统概述本系统是一个基于GD32F527I_EVAL和RT-Thread实时操作系统开发的工业级网络-CAN总线透
    的头像 发表于 02-10 16:05 1.7w次阅读
    基于RT-Thread与兆易创新<b class='flag-5'>GD32F</b>527的工业级网络-CAN透传网关设计与实现 | 技术集结

    求助,关于C代码中的printf打印的疑问求解

    在使用E203 testbench执行附带的benchmark测试用例时候,得到如下打印信息: CPU验证小白一枚,有个问题不是很理解:黄色框框内的字符看起来应该是C代码中的printf语句
    发表于 11-10 07:54

    使用VScode的PIO开发GD32VF103,但是串口无法打印浮点数怎么解决?

    我最近在使用VScode的PIO开发GD32V,使用的是longan的模板,但是我将串口输出重定义到printf函数中,发现无法使用%f输出浮点数,想问问应该怎么
    发表于 11-06 06:49

    兆易创新GD32F5xx与GD32G5xx STL软件测试获颁IEC61508功能安全认证

    业界领先的半导体器件供应商 兆易创新GigaDevice 宣布,其GD32F5xx与GD32G5xx系列MCU配套的STL(Software Test Library)软件测试获得德国莱茵TÜV
    的头像 发表于 10-24 12:55 656次阅读

    MCU无法检测到W5500是怎么回事?

    在兆易创新 GD32F303,国民技术 N32G457和ST STM32F103上试用了W5500以太网模块(RT-Thread版本是rt-thread-4.1.1), 只有STM32F103上可以
    发表于 10-14 07:38

    NVIC中断配置固件详解

    固件文件core_cm33.h的最后,还提供了NVIC的一些函数,这些函数遵循CMSIS规则,只要是Cortex-M33的处理器都可以使用。
    的头像 发表于 09-23 09:34 2200次阅读
    NVIC中断<b class='flag-5'>配置</b><b class='flag-5'>固件</b><b class='flag-5'>库</b>详解

    backtrace命令无法使用?为什么?

    GD32F303,之前一直用nano,最近使用5.2.0标准版,工程使用最新版本bsp中的,直接下载,发现有backtrace命令,根据提示使用,一直提示无效输入?是M核不支持吗?还是我哪里没有开启,虽然暂时没用到,还是想多了解一下?
    发表于 09-22 08:13

    GD32F103RCT6 rt_kprintf无法打印怎么解决?

    使用的芯片为GD32F103RCT6,文件夹board路径里有一个不使用rt操作系统的串口打印配置,映射到printf,使用这个代码配置
    发表于 09-19 07:42

    GD32F103RCT6移植qboot,烧录之后系统卡死怎么解决?

    如题,我使用的是stm32的hal对STM32F103RCT6芯片进行配置的代码烧录到GD32F103RCT6中,串口和PWM都调试成功,没有问题,所以开始移植qboot。使用env
    发表于 09-19 06:41

    GD32的串口DMA收发数据失败怎么解决?

    我在使用RTT的GD32F303的BSP时,配置使用串口DMA收发(rt_device_open),发现错误,最终无法收发数据,对比了STM32的BSP发现在drv_usart.c中
    发表于 09-17 06:04

    GD32F437开发板添加lwip支持后ping不通电脑怎么解决?

    使用GD32F437的开发板,在studio中添加lwip的支持后,将开板板设置和电脑相同的网段,并用网线连接开发板和电脑,开发板启动后ping不通电脑,如下:
    发表于 09-09 07:43

    高新兴瑞联推出新款LTE Cat.1高性能OBD产品GD303

    2025年8月,高新兴瑞联新款LTE Cat.1高性能OBD产品——GD303正式上市!凭借卓越的性能、丰富的功能和广泛的应用场景适用性和易用性,GD303将丰富高新兴瑞联的OBD Tracker产品家族,满足更多客户在数字化车队管理中的核心需求。
    的头像 发表于 08-15 11:02 2533次阅读

    GD32F4xx系列MCU基础工程资料

    GD32F4xx系列MCU基础工程创建.
    发表于 08-04 14:53 2次下载