
使能以下代码重定向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发送即可,我平常就是这样的操作。 |
安装STM32CUBEIDE时提示Error launching installer,我的电脑设置的是中文简体,杀毒软件也推出了,怎么才能安装软件?
STM32CubeIDE报错
SDIO读取TF卡,1bit模式正常,4bit模式无法读取
cudeide执行run是烧录还是只是执行呢
cubeIDE在run后出现错误
在STM32Cube IDE1.18.0里 写ODR 编译不成,咋办?
CUEBIDE生成的APP程序,在写入FLASH之后无法正常跳转。
有关Cubeide IAP 问题
Cubeide1.18.1在线调试改变"现场表达式"中的值提示找不到地址
stm32cubeide中如何查看版本日志?