概述
本章主要配置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文章
93浏览量
14837 -
Printf
+关注
关注
0文章
79浏览量
13484 -
gd32f303
+关注
关注
4文章
37浏览量
3593
发布评论请先 登录
相关推荐
GD32F303想控制PA13~15、PB3和PB4不成功?
有没有小伙伴遇到这种情况:在使用GD32F303的时候,想要将PA13~15以及PB3和PB4作为IO口来使用,却怎么也不成功呢?下面小编就来告诉大家原因。
GD32F303 低功耗模式要点
我们都知道,MCU有低功耗模式,比如GD32F303芯片,就有Sleep、Deepsleep和Standby三种模式。关于这三种模式的具体使用方法,小伙伴们可以参考《GD32F30x系列用户手册》。
GD32F系列MCU片上Flash中Code区和Data区使用解密
GD32F系列MCU产品片上Flash分Code区和Data区,以GD32F303系列为例,从GD32F303xx Datasheet中可以获取code区和data区大小,那Code区和Data区在代码执行上有什么差别呢?
GD32F303固件库开发(17)----内部Flash读写
本例程主要讲解如何对芯片自带Flash进行读写,用芯片内部Flash可以对一些需要断电保存的数据进行保存,无需加外部得存储芯片,本例程采用的是GD32F303ZET6主控,512K大小的Flash。 最近在弄ST和GD的课程,需要GD
STM32CUBEMX开发GD32F303(17)----内部Flash读写
本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发板内进行验证。
本例程主要讲解如何对芯片自带Flash进行读写,用芯片内部Flash可
GD32F303固件库开发
的可以加群申请:615061293 。 GD32F303固件库开发(1)----前期准备与烧录 使用GDLINK、jlink、串口下载程序到GD芯片。 [https://blog.cs
STM32CUBEMX开发GD32F303(15)----外部中断EXTI
本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发板内进行验证。
使用外部中断EXTI进行驱动LED。
《GD32 MCU原理及固件库开发指南》+读后感
,所以从STM32切换到GD32能够很快实现,节省了很多精力和时间成本。并且刚好出了《GD32 MCU原理及固件库开发指南》这本书,能帮助快
发表于 06-06 21:52
评论