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

[复制链接]
3059|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 | 显示全部楼层
我也碰到过这类问题,也是像楼上那样解决的哦
soybeanmeal 发表于 2016-1-19 09:37 | 显示全部楼层
这个只能用 HAL_UART_Transmit 阻塞模式,如果是HAL_UART_Transmit_DMA就会出错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部