【Wio Lite AI STM32H725AE视觉开发板】--3.串口打印
[复制链接]
本帖最后由 dirty 于 2025-1-23 22:54 编辑
本篇讲述实现串口打印功能。
一.硬件原理与准备
STM32H725AE有5个UART和一个LPUART,根据开发板原理图扩展接口,这里选择UART3 如下:
硬件板上接好串口如下:
二.代码准备
1.STM32CubeMX配置UART如下
2.生成代码后修改增加如下代码:
●添加串口重定向函数
#include "stdio.h"
#include "main.h"
/*
...
*/
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
●main函数加入串口打印,如下:
/**
* [url=home.php?mod=space&uid=159083]@brief[/url] The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* Enable I-Cache---------------------------------------------------------*/
SCB_EnableICache();
/* Enable D-Cache---------------------------------------------------------*/
SCB_EnableDCache();
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART3_UART_Init();
/* USER CODE BEGIN 2 */
printf("Welcome to Wio Lite AI STM32H725AE Develop Board !\r\n");
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13))
{
printf("Red Led is On\r\n");
}
else
{
printf("Red Led is Off\r\n");
}
HAL_Delay(1000U);
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
3.编译烧录后运行,可以看到红灯闪烁,且有如下日志
至此,实现串口打印功能。
|