这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32G070RB探测6-串口发送及重定向printf函数到串口输出

共1条 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     单片机    

共1条 1/1 1 跳转至

回复

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