|
先说现象:
printf带换行符“\n”时正常输出,不带“\n”时不输出,直到下一个有“\n”的语句时才一起输出
硬件是:stm32f103rct6(我觉得跟硬件没关系)
环境是:
不是用的keil,ARM-GCC 套件 + VScode,按照链接中的方法搭建的:
https://blog.csdn.net/cqy1028/article/details/113984775
printf重定向实现方式为:
- #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(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
- return ch;
- }
- int _write(int file, char *ptr, int len)
- {
- int DataIdx;
- for (DataIdx = 0; DataIdx < len;DataIdx++)
- {
- __io_putchar(*ptr++);
- }
- return len;
- }
复制代码
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|