基于cubeMX的printf重定向,哪位大神可以帮忙?
最近做数据采集,需要用串口,但是各种输出格式转换很麻烦,想来还是printf比较方便,后来坛里搜到了教程,但是不知道为什么我按照教程试了,没有反应都,以下几篇都试过了:https://www.stmcu.org.cn/module/forum/thread-598389-1-1.html
https://www.stmcu.org.cn/module/forum/thread-602600-1-1.html
也可能两位大神用的都是基于标准库的,我想请教下哪位能帮我弄个基于HAL的printf重定向?直接在nucleo上运行,非常感谢!
试试这个,我测试过。不过是411,你可以按照main里面的试一下。 cube库里面本身也有类似的例子。
主要是fputc/fgetc两个函数的重定向。 记得好像论坛里看到过 #include "stdio.h"
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
这个是HAL 库下的printf 使用方法。。 你用cube配置好串口就可以了。。 帮顶喽 watershade 发表于 2015-9-9 22:38
试试这个,我测试过。不过是411,你可以按照main里面的试一下。 cube库里面本身也有类似的例子。
...
多谢大神!搞定了,原因找到了:我在printf之前使用了串口中断方式发送了两个字节数据,造成后面都没反应! Paderboy 发表于 2015-9-9 16:00
#include "stdio.h"
#ifdef __GNUC__
多谢大神!搞定了,原因找到了:我在printf之前使用了串口中断方式发送了两个字节数据,造成后面都没反应! 你好我好大家好! 发表于 2015-9-9 16:38
帮顶喽
原因找到了!已经解决, Paderboy 发表于 2015-9-9 16:00
#include "stdio.h"
#ifdef __GNUC__
可惜最佳答案只能选一个,多谢大神帮助!
页:
[1]
2