使能以下代码重定向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发送即可,我平常就是这样的操作。 |
Cortex m3内核是很特殊吗,为什么st公司的很多软件比如cubemx.ai唯独不支持m3内核的stm32f1系列
stm32cubeide怎么取ImageER_IROM1Limit
cubeIDE在运行时显示Failed to execute MI command是什么问题呢?
LL库变成黑色,不能用,怎么回事
如何使用STM32CubeIde生成BLE Audio工程
用stm32cubeide生成的STM32G030F6P6代码只要一开中断,任何中断程序都会跑飞.
关于stm32cubeide下载问题
cubeide 1.15.0 Build Analyzer 不显示内容 有会解决的吗
stm32cubeide如何修改芯片型号和启动文件
My.st.账号注册没反应试了两台电脑