OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32G070RB探测6-串口发送及重定向printf函数到串口输出

共5条 1/1 1 跳转至

STM32G070RB探测6-串口发送及重定向printf函数到串口输出

高工
2020-12-23 23:04:08    评分

本来说要先写定时器,但我意识到,如果没有打印功能,调试起来很难受。所以先简单的搞一下串口输出,并且重定向printf,这样我们就能先实现printf功能,美汁汁(详细的肯定留给大Z老师讲了)。

老规矩,先点点点~

我们之前生成的项目中已经配置好了串口。

如果没有的话,需要我们再配置,连接stlink的串口是串口2 PA2PA3,我们直接点即可(按图即可)。

首先我们测试一下。

打开uart库的头文件。

简单看下,都是hal库通用的函数。

我们使用这个函数,阻塞式发送。

声明:

extern UART_HandleTypeDef huart2;

在while前加两句函数:

uint8_t hello[13] = "Hello World\r\n";
HAL_UART_Transmit(&huart2, (uint8_t *)&hello, 13,0xFF);

编译打印。

然后重定向。

在usart.c最后加上函数:

/* USER CODE BEGIN 1 */
#include "stdio.h"
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart2, (uint8_t*) &ch, 1, 0xffff);
return ch;
}
/* USER CODE END 1 */

同时在main函数中调用:

#include <stdio.h>

然后直接:

printf("Hello World\r\n");


针不戳~




关键词: STM32     单片机    

管理员
2020-12-24 09:47:37    评分
2楼

高效输出,针不戳~


高工
2020-12-24 10:35:33    评分
3楼

突然间就高产了~真不戳


专家
2020-12-24 11:26:07    评分
4楼

调试信息的输出太有学问了。


高工
2020-12-27 23:11:06    评分
5楼

学到了


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]