打印
[STM32G0]

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

[复制链接]
150|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本来说要先写定时器,但我意识到,如果没有打印功能,调试起来很难受,所以先简单的搞一下串口输出,并且重定向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)#endifPUTCHAR_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");

针不戳


使用特权

评论回复
沙发
MessageRing| | 2022-12-6 13:56 | 只看该作者
好像重定向下函数就行

使用特权

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

本版积分规则

1883

主题

6437

帖子

8

粉丝