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语言的魅力

相关推荐
hsjiasb16 小时前
FreeRTOS学习(二十三)——消息缓冲区(Message Buffer)
stm32·单片机·嵌入式硬件·学习·freertos
我是海飞18 小时前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理
沸速存储19 小时前
CPU 和 GPU 核心差别在哪?为什么 AI 训练离不开 GPU
服务器·人工智能·科技·嵌入式硬件·电脑
wuyk55519 小时前
2.队列:先进先出的线性数据结构
c语言·数据结构·stm32·单片机
我不会JAVA!20 小时前
【无标题】
嵌入式硬件·h.264
芯岭技术郦20 小时前
OM6625A芯片 Timer 定时器计数模式使用说明
stm32·单片机·嵌入式硬件
Dr.kangder1 天前
嵌入式面试总结(八)——大小端
嵌入式硬件·面试·职场和发展·架构·嵌入式
zlinear数据采集卡1 天前
D223的SRAM硬件记录仪:外部触发与瞬态波形捕获方案
arm开发·嵌入式硬件·fpga开发·开源
zcmodeltech1 天前
双碳沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的碳捕集-零碳园区-综合能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
LCG米1 天前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件