OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3530|回复: 1

Usart串口实验关于printf函数的小问题

[复制链接]

3

主题

9

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-8-29
在线时间
3 小时
发表于 2018-10-11 10:40:53 | 显示全部楼层 |阅读模式
1金钱
在原子哥给的Usart例程里面,usart.c文件上方有一小段printf的代码。原子哥只是草草一说它是修改的打印函数将打印函数的出口改到串口上。并没有详细讲解这段函数例程。请各位大牛帮我看看,讲解一下这段代码。


代码如下:

//加入以下代码,支持 printf 函数,而不需要选择 use MicroLIB
#if 1
#pragma import(__use_no_semihosting)
//标准库需要的支持函数
struct __FILE
{
int handle;
};
FILE __stdout;
//定义_sys_exit()以避免使用半主机模式
_sys_exit(int x)
{
x = x;
}
//重定义 fputc 函数
int fputc(int ch, FILE *f)
{
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
USART_SendData(USART1,(uint8_t)ch);
return ch;
}
#endif

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-10-11 12:26:32 | 显示全部楼层
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) 用于检查串口UART1是否发送完成
USART_SendData(USART1,(uint8_t)ch);    将数据发送给串口1
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 20:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表