
使能以下代码重定向prinft为什么,串口软件都是1024个字节为单位接收的,在 / Infinite loop / / USER CODE BEGIN WHILE / while (1) { / USER CODE END WHILE / printf("1"); HAL_Delay(50); / USER CODE BEGIN 3 / } / USER CODE END 3 / } 这里需要循环1024次串口才能接收到,(从串口软件这边看每次数据都是1024递增的) /***** 重新编写printf函数 **/ ifdef GNUCdefine PUTCHAR_PROTOTYPE int __io_putchar(int ch)define GETCHAR_PROTOTYPE int __io_getchar(FILE *f)elsedefine PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)define GETCHAR_PROTOTYPE int fgetc(FILE *f)endif / GNUC /PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF); return ch; } GETCHAR_PROTOTYPE { uint8_t ch = 0; HAL_UART_Receive(&huart1,(uint8_t *)&ch, 1, 0xFFFF); if (ch == '\r') {
} return __io_putchar(ch); } /*****/ |
在STM32CubeIDE用户手册UM2609的2.2.2.1章节专门介绍了Printf的实现过程,你参考下。那里谈到了多种方式。如果基于UART输出的话,其实完全不必理会那些C库函数,生成字符或字符串后直接通过UART发送即可,我平常就是这样的操作。 |
STM32F429 二级启动程序 (sboot) 开发难点:LD 文件 / 堆栈 / NVIC 及 startup.s 修改疑问
stm32G071RBT6跑TOUCHGFX的时候使用仪表控件,更新数值的时候会卡死,怎么解决
touchgfx添加文字不能显示,直接死(HardFault_Handler)
STM32CubeIDE 2.0 有啥新变化?
CubeIDE生成MP257的M33工程出现RCC配置问题(Bug?)
2.0 CubeIDE大概更新时间?
STM32CUBEIDE BUG
STM32CubeIDE 2.0开发下载了吗
新版STM32CubeIDE会不会提供Deepseek
STM32CubeIDE支持第三方插件了吗