stm32实现串口打印输出_stm32串口打印

硬件准备

开发板需配备STM32C552CET6或STM32C552CEU6作为主控芯片。确保开发板上的PA9(USART1_TX)和PA10(USART1_RX)引脚已正确连接至串口转换模块(如CH340等)。

参考程序


STM32CubeMX2工程生成

  1. 启动STM32CubeMX2,在首页点击"MCU"创建新工程。
  2. 输入芯片型号"STM32C552CET6"或"STM32C552CEU6",选择对应型号后进入配置界面。
  3. 填写工程名称和路径,勾选"Automatically Download, Install & Create Project"自动下载依赖包。
  4. 工程生成成功后,点击"Launch Project"进入配置界面。

时钟树配置

  1. 进入"Peripherals" → "RCC"配置:
    • HSE Source:Crystal/ceramic resonator
    • LSE Source:Crystal/ceramic resonator
  2. 进入"Clock Configuration"界面:
    • 设置HSE频率为24 MHz
    • 配置PLL将系统主频提升至144 MHz
    • 确保各外设时钟分频比合理(如APB1/APB2)。

DEBUG配置

在"Peripherals" → "Cortex" → "DEBUG"中,将Mode设置为"Single-wire trace asynchronous"以支持SWD调试和Trace功能。


串口配置

  1. 在"Connectivity"中选择USART1:
    • Mode:Asynchronous
    • Baud Rate:115200(或其他目标波特率)
    • Word Length:8 bits
    • Parity:None
    • Stop Bits:1
  2. 配置PA9为USART1_TX,PA10为USART1_RX(需与硬件原理图一致)。

生成代码并导入IDE

  1. 点击"Project Manager" → "Generate Code"生成工程文件。
  2. 选择Toolchain为"STM32CubeIDE",生成后直接导入IDE。

工程设置与代码适配

  1. 编码设置:在STM32CubeIDE中确保工程编码为UTF-8。

  2. 添加头文件 :在main.c中补充以下头文件:

    c 复制代码
    #include <stdio.h>
    #include <string.h>
  3. printf重定向 :在main.c中添加以下代码以重定向printf至USART1:

    c 复制代码
    int __io_putchar(int ch) {
        HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, HAL_MAX_DELAY);
        return ch;
    }

测试与验证

  1. 在main()函数的初始化部分添加测试代码:

    c 复制代码
    printf("STM32C552 UART Test\r\n");
  2. 编译并下载程序,使用串口工具(如PuTTY)连接开发板,波特率设置为115200,观察输出信息。


示例主程序

完整的主程序框架示例:

c 复制代码
int main(void) {
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_USART1_UART_Init();

    while (1) {
        printf("Hello, STM32C552!\r\n");
        HAL_Delay(1000);
    }
}

通过以上步骤,可实现STM32C552的串口打印功能。若输出异常,需检查硬件连接、波特率设置及重定向代码是否正确。

编程语言C++mobile.xgrayy01.com++C语言的魅力编程语言C++mobile.xgrayy02.com++C语言的魅力

编程语言C++news.xgrayy01.com++C语言的魅力编程语言C++news.xgrayy02.com++C语言的魅力

编程语言C++soft.xgrayy01.com++C语言的魅力编程语言C++soft.xgrayy02.com++C语言的魅力

编程语言C++www.share.xgrayy01.com++C语言的魅力编程语言C++www.share.xgrayy02.com++C语言的魅力

编程语言C++map.xgrayy01.com++C语言的魅力编程语言C++map.xgrayy02.com++C语言的魅力

编程语言C++www.blog.xgrayy01.com++C语言的魅力编程语言C++www.blog.xgrayy02.com++C语言的魅力

编程语言C++read.share.xgrayy01.com++C语言的魅力编程语言C++read.share.xgrayy02.com++C语言的魅力

编程语言C++info.xgrayy01.com++C语言的魅力编程语言C++info.xgrayy02.com++C语言的魅力

编程语言C++xgrayy01.com++C语言的魅力编程语言C++xgrayy02.com++C语言的魅力

编程语言C++www.xgrayy01.com++C语言的魅力编程语言C++www.xgrayy02.com++C语言的魅力

编程语言C++mobile.fl-juzimao.com++C语言的魅力编程语言C++mobile.wendumao.com++C语言的魅力

编程语言C++news.fl-juzimao.com++C语言的魅力编程语言C++news.wendumao.com++C语言的魅力

编程语言C++soft.fl-juzimao.com++C语言的魅力编程语言C++soft.wendumao.com++C语言的魅力

编程语言C++www.share.fl-juzimao.com++C语言的魅力编程语言C++www.share.wendumao.com++C语言的魅力

编程语言C++map.fl-juzimao.com++C语言的魅力编程语言C++map.wendumao.com++C语言的魅力

编程语言C++www.blog.fl-juzimao.com++C语言的魅力编程语言C++www.blog.wendumao.com++C语言的魅力

编程语言C++read.share.fl-juzimao.com++C语言的魅力编程语言C++read.share.wendumao.com++C语言的魅力

编程语言C++info.fl-juzimao.com++C语言的魅力编程语言C++info.wendumao.com++C语言的魅力

编程语言C++fl-juzimao.com++C语言的魅力编程语言C++wendumao.com++C语言的魅力

编程语言C++www.fl-juzimao.com++C语言的魅力编程语言C++www.wendumao.com++C语言的魅力

编程语言C++mobile.glsz999.top++C语言的魅力编程语言C++mobile.hq0475.com++C语言的魅力

编程语言C++news.glsz999.top++C语言的魅力编程语言C++news.hq0475.com++C语言的魅力

编程语言C++soft.glsz999.top++C语言的魅力编程语言C++soft.hq0475.com++C语言的魅力

编程语言C++www.share.glsz999.top++C语言的魅力编程语言C++www.share.hq0475.com++C语言的魅力

编程语言C++map.glsz999.top++C语言的魅力编程语言C++map.hq0475.com++C语言的魅力

编程语言C++www.blog.glsz999.top++C语言的魅力编程语言C++www.blog.hq0475.com++C语言的魅力

编程语言C++read.share.glsz999.top++C语言的魅力编程语言C++read.share.hq0475.com++C语言的魅力

编程语言C++info.glsz999.top++C语言的魅力编程语言C++info.hq0475.com++C语言的魅力

编程语言C++glsz999.top++C语言的魅力编程语言C++hq0475.com++C语言的魅力

编程语言C++www.glsz999.top++C语言的魅力编程语言C++www.hq0475.com++C语言的魅力

编程语言C++mobile.0todo.com++C语言的魅力编程语言C++mobile.czfanglian.com++C语言的魅力

编程语言C++news.0todo.com++C语言的魅力编程语言C++news.czfanglian.com++C语言的魅力

编程语言C++soft.0todo.com++C语言的魅力编程语言C++soft.czfanglian.com++C语言的魅力

编程语言C++www.share.0todo.com++C语言的魅力编程语言C++www.share.czfanglian.com++C语言的魅力

编程语言C++map.0todo.com++C语言的魅力编程语言C++map.czfanglian.com++C语言的魅力

编程语言C++www.blog.0todo.com++C语言的魅力编程语言C++www.blog.czfanglian.com++C语言的魅力

编程语言C++read.share.0todo.com++C语言的魅力编程语言C++read.share.czfanglian.com++C语言的魅力

编程语言C++info.0todo.com++C语言的魅力编程语言C++info.czfanglian.com++C语言的魅力

编程语言C++0todo.com++C语言的魅力编程语言C++czfanglian.com++C语言的魅力

编程语言C++www.0todo.com++C语言的魅力编程语言C++www.czfanglian.com++C语言的魅力

编程语言C++mobile.digilifeforum.com++C语言的魅力编程语言C++read.share.digilifeforum.com++C语言的魅力

编程语言C++news.digilifeforum.com++C语言的魅力编程语言C++info.digilifeforum.com++C语言的魅力

编程语言C++soft.digilifeforum.com++C语言的魅力编程语言C++digilifeforum.com++C语言的魅力

编程语言C++www.share.digilifeforum.com++C语言的魅力编程语言C++www.digilifeforum.com++C语言的魅力

编程语言C++map.digilifeforum.com++C语言的魅力编程语言C++www.blog.digilifeforum.com++C语言的魅力

编程语言C++mobile.yun-7.com++C语言的魅力编程语言C++map.liudamall.net++C语言的魅力

编程语言C++news.yun-7.com++C语言的魅力编程语言C++www.blog.liudamall.net++C语言的魅力

编程语言C++soft.yun-7.com++C语言的魅力编程语言C++read.share.liudamall.net++C语言的魅力

编程语言C++www.share.yun-7.com++C语言的魅力编程语言C++info.liudamall.net++C语言的魅力

编程语言C++map.yun-7.com++C语言的魅力编程语言C++liudamall.net++C语言的魅力

编程语言C++www.blog.yun-7.com++C语言的魅力编程语言C++www.liudamall.net++C语言的魅力

编程语言C++read.share.yun-7.com++C语言的魅力编程语言C++mobile.xgrayy04.com++C语言的魅力

编程语言C++info.yun-7.com++C语言的魅力编程语言C++news.xgrayy04.com++C语言的魅力

编程语言C++yun-7.com++C语言的魅力编程语言C++soft.xgrayy04.com++C语言的魅力

编程语言C++www.yun-7.com++C语言的魅力编程语言C++www.share.xgrayy04.com++C语言的魅力

编程语言C++mobile.liudamall.net++C语言的魅力编程语言C++map.xgrayy04.com++C语言的魅力

编程语言C++news.liudamall.net++C语言的魅力编程语言C++www.blog.xgrayy04.com++C语言的魅力

编程语言C++soft.liudamall.net++C语言的魅力编程语言C++read.share.xgrayy04.com++C语言的魅力

编程语言C++www.share.liudamall.net++C语言的魅力编程语言C++info.xgrayy04.com++C语言的魅力

编程语言C++www.xgrayy04.com++C语言的魅力编程语言C++xgrayy04.com++C语言的魅力

相关推荐
女神下凡36 分钟前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
Zw-awa2 小时前
从 CH340 到 HC-05 和 HC-06:让小车脱离电脑
stm32
硅基手札2 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
何粥学5 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_5 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY092006 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式9 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎18 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
Zw-awa21 小时前
从 CPU 搬运到自动搬运:DMA、空闲中断和两块缓冲
stm32
无敌贵点大王21 小时前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件