这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 极海G32A1465评估板-printf打印

共1条 1/1 1 跳转至

极海G32A1465评估板-printf打印

工程师
2025-02-18 11:24:09     打赏

在使用极海G32A1465评估板时,若要通过printf函数打印信息,通常需要配置串口并重定向printf的输出到串口。


一、极海G32A1465评估板串口特性

极海G32A1465评估板上的LPUART低功耗异步收发传输器支持全双工、异步、NRZ(非归零)串行通信,并具有以下主要特性:

 

全双工异步通信:支持同时发送和接收数据。

可编程的串口特性:包括数据位(7位、8位、9位或10位)、校验位(偶校验、奇校验、无校验)、停止位(1位或2位)等。

可编程波特率:采样率为4x到32x,支持多种波特率设置。

多种接收器唤醒方法:包括空闲线路唤醒、地址标记唤醒、接收数据匹配等。

自动地址匹配:支持地址标记匹配和空闲线路地址匹配。

可配置空闲长度检测:支持1、2、4、8、16、32、64或128个空闲字符的检测。

中断、DMA或轮询操作:支持多种数据传输和接收方式。


二. 原理图:

image.png

三。配置串口

串口正确配置,包括波特率、数据位、停止位和校验位等。

#include "g32a14xx.h"

void UART_Init(void) {
    // 使能UART时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

    // 配置UART引脚
    GPIO_InitTypeDef GPIO_InitStruct;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;  // TX
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;  // RX
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    // 配置UART参数
    USART_InitTypeDef USART_InitStruct;
    USART_InitStruct.USART_BaudRate = 115200;
    USART_InitStruct.USART_WordLength = USART_WordLength_8b;
    USART_InitStruct.USART_StopBits = USART_StopBits_1;
    USART_InitStruct.USART_Parity = USART_Parity_No;
    USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    USART_Init(USART1, &USART_InitStruct);

    // 使能UART
    USART_Cmd(USART1, ENABLE);
}

重定向printf

通过重写fputc函数,将printf的输出重定向到串口。

#include <stdio.h>

int fputc(int ch, FILE *f) {
    // 等待发送完成
    while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
    // 发送字符
    USART_SendData(USART1, (uint8_t)ch);
    return ch;
}

 使用printf打印

配置完成后,即可使用printf函数打印信息。

int main(void) {
    // 初始化串口
    UART_Init();

    // 使用printf打印
    printf("666rn");

    while (1) {
        // 主循环
    }
}

编译和下载

编译代码并下载到极海G32A1465评估板,通过串口调试工具查看输出。


四.输出结果:

image.png





共1条 1/1 1 跳转至

回复

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