打印
[STM32U5]

【NUCLEO-U575ZI-Q测评】STM32CubeIDE 实现printf

[复制链接]
333|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lulugl|  楼主 | 2023-2-19 11:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【目的】实现串口输出、重定向printf【开发环境】MacOS+STM32CubeIDE
【硬件】NUCLEO-U575ZI-Q开发板
【步聚】
1、https://bbs.21ic.com/icview-3284898-1-1.html,在这篇的基础之上添加串口输出。
2、增加串口重定向代码
3、配置printf float
【具体过程】

1、在uart.c中增加如下代码实现printf重定向。
/* USER CODE BEGIN 1 */

#include "stdio.h"

#ifdef __GNUC__

#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

PUTCHAR_PROTOTYPE
{

  HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, HAL_MAX_DELAY);
  return ch;
}
#endif
/* USER CODE END 1 */
2、在main.c头文件中增加#include <stdio.h>

在main函数中增加如下代码:
  /* USER CODE BEGIN 2 */
  HAL_UART_Transmit(&huart1, (uint8_t*)"this uart transmit data\r\n", sizeof("this uart transmit data\r\n"), HAL_MAX_DELAY);
3、编译下到开发板,实现效如下:
this uart transmit data
this is printf


使用特权

评论回复
沙发
usysm| | 2023-3-3 21:01 | 只看该作者
STM32CubeIDE 如何移植printf?

使用特权

评论回复
板凳
lulugl|  楼主 | 2023-3-3 22:13 | 只看该作者
直接拷一程 代码就行了
#include "stdio.h"



#ifdef __GNUC__



#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)



PUTCHAR_PROTOTYPE

{



  HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, HAL_MAX_DELAY);

  return ch;

}

#endif

使用特权

评论回复
地板
jimmhu| | 2023-3-10 10:26 | 只看该作者
这个不是使用的keil的 microlib吗?

使用特权

评论回复
5
lulugl|  楼主 | 2023-3-10 12:19 | 只看该作者
这个不是keil是stm32cubeide

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

138

主题

675

帖子

6

粉丝