打印
[STM32F1]

关于stm32,printf()函数重定向到usart1的问题?

[复制链接]
2785|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一般人物|  楼主 | 2015-2-9 16:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
寒假准备自学一下stm32,大概有六七天了,前几天学习还算顺利,今天学习DMA的时候遇到一个问题,没有使用printf()函数的时候串口会有输出是什么?我目前对printf()函数重定向理解就是printf()函数把里面的参数传给fputc(int ch,FILE *f)函数的ch通过调用fputc函数打印出来,不过问题就来了,为什么fputc有两个参数,printf只送了一个?还有就是上面说的没有用printf函数,只是通过通道向usart数据寄存器送数据怎么串口助手上会显示呢?
沙发
mohanwei| | 2015-2-9 17:27 | 只看该作者
到编译器目录搜索putchar.c,参考里面的内容,在你工程里添加一个putchar()函数

使用特权

评论回复
板凳
mmuuss586| | 2015-2-9 19:15 | 只看该作者

根据楼上意见,查找函数原型参考下;

使用特权

评论回复
地板
搞IT的| | 2015-2-9 23:31 | 只看该作者
我也碰到过这类问题,也是像楼上那样解决的哦

使用特权

评论回复
5
soybeanmeal| | 2016-1-19 09:37 | 只看该作者
这个只能用 HAL_UART_Transmit 阻塞模式,如果是HAL_UART_Transmit_DMA就会出错。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

20

帖子

0

粉丝