概述
本章主要配置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);
}
测试结果
上一篇:GD32F103C8T6 Uart3无法发送数据
下一篇:最后一页
设计资源 培训 开发板 精华推荐
- NCP300HSN45T1 4.5V 窗口电压检测器的典型应用
- 使用 Microchip Technology 的 MIC2774L-XXBM5 的参考设计
- NCP6151A 双输出 4 相 +1/0 相控制器的典型应用,具有单 SVID 接口,适用于台式机和笔记本 CPU 应用
- LT1184FCS 浮动 CCFL 的典型应用电路,具有电位器控制灯电流
- 外置蓝牙双模卫星定位装置
- 用于电源管理的 MOSFET 电源驱动器
- ADP320 三路、200 mA、低噪声、高 PSRR 稳压器的典型应用
- modian
- AM2G-2407SH30Z 7.2V 2 瓦 DC/DC 转换器的典型应用
- LTC3622IDE-23/5 2.5V/5V Vout 应用的典型应用电路,fSW = 1MHz 同步降压稳压器