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

[复制链接]
684|11
 楼主| 两只袜子 发表于 2022-12-5 09:28 | 显示全部楼层 |阅读模式
本来说要先写定时器,但我意识到,如果没有打印功能,调试起来很难受,所以先简单的搞一下串口输出,并且重定向printf,这样我们就能先实现printf功能,美汁汁(详细的肯定留给大Z老师讲了)老规矩,先点点点

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

20201223223401.png

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

20201223225204.png

20201223223524.png

首先我们测试一下

打开uart库的头文件

20201223223647.png

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

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

20201223223840.png

声明

extern UART_HandleTypeDef huart2;

在while前加两句函数

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

编译打印

20201223225255.png

然后重定向

在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");

20201223225702.png

针不戳


MessageRing 发表于 2022-12-6 13:56 | 显示全部楼层
好像重定向下函数就行
公羊子丹 发表于 2024-10-16 07:17 | 显示全部楼层

防雷电路的输出残压值必须比被防护电路自身能够耐受的过电压峰值低,并有一定裕量
万图 发表于 2024-10-16 08:20 | 显示全部楼层

模信号是幅度相等且相位相同的信号
Uriah 发表于 2024-10-16 09:23 | 显示全部楼层

在完成测试后,需要分析测试结果并进行评估
帛灿灿 发表于 2024-10-16 11:19 | 显示全部楼层

构成各种滤波器对EMI进行滤波
Bblythe 发表于 2024-10-16 12:22 | 显示全部楼层

在动态测试之前,首先需要设定测试时间和测试频率
周半梅 发表于 2024-10-16 14:18 | 显示全部楼层

测试负载测试是在特定的测试条件下进行的
Pulitzer 发表于 2024-10-16 15:21 | 显示全部楼层

在测试中,可以改变负载电流,得到最大输出电流和输出电压
童雨竹 发表于 2024-10-16 17:17 | 显示全部楼层

信号防雷电路应满足相应接口信号传输速率及带宽的需求,且接口与被保护设备兼容。
Wordsworth 发表于 2024-10-16 18:20 | 显示全部楼层

随着对电路板模块的需求增加
Clyde011 发表于 2024-10-16 19:23 | 显示全部楼层

最常见的是用它们来创建PCB独立模块,比如Wi-Fi、蓝牙或者核心板模块,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部