|
使能以下代码重定向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发送即可,我平常就是这样的操作。 |
离线安装帮助插件
STM32U385的PB1引脚设置推挽输出,外部接电阻上拉时,断掉MCU的电源,MCU仍然运行的问题
新版本STM32CUBEIDE在新建工程中无法没有CUBEMX的选项了?
STM32CubeIDE for Visual Studio Code无法使用
STM32 CubeIDE 中的编译器优化等级
cubeide登录不了,软件连不上网
stm32cubeide登录问题
STM32N647配置LTDC时遇到问题
STM32CubeIDE for VScode对工程路径要很严格
IDE 对 _Static_assert 的识别问题
微信公众号
手机版