news 2026/5/7 4:14:56

[STM32C0] 【STM32C092RC 测评】2、板载外设——串口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32C0] 【STM32C092RC 测评】2、板载外设——串口

在进行新开发板测试时,我们优先进行了板载外设的串口功能测试。鉴于串口调试功能在整个测试流程中的重要性,其能够持续提供测试状态的关键信息输出,因此,我们采用printf打印功能作为测试过程中的状态监测手段,这是首要进行串口功能调试的核心考量。
当前的ST开发板普遍集成了调试器。ST-LINK均支持虚拟串口功能。本次任务旨在实现单片机串口与虚拟串口的连接,并利用板载调试器与PC机进行通信。随后,通过PC端上位机的串口调试工具进行数据监控与分析。
我们先看一下这款开发板的虚拟串口的位置:

STlink的虚拟串口主要连接到PA2和PA3,如下图:

在STM32CubeMX中,观察到两个引脚可配置为UART2功能,我们打开UART2功能,可以看到默认引脚如下:

如果没有特殊要求可以直接使用默认配置,波特率115200:

接下来我们生成代码,然后加入如下底代码配置printf:

复制

  1. <p>#if defined(__ICCARM__)</p><p>__ATTRIBUTES size_t __write(int, const unsigned char *, size_t);</p><p>#endif /* __ICCARM__ */</p><p>#if defined(__ICCARM__)</p><p>/* New definition from EWARM V9, compatible with EWARM8 */</p><p>int iar_fputc(int ch);</p><p>#define PUTCHAR_PROTOTYPE int iar_fputc(int ch)</p><p>#elif defined ( __CC_ARM ) || defined(__ARMCC_VERSION)</p><p>/* ARM Compiler 5/6*/</p><p>#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)</p><p>#elif defined(__GNUC__)</p><p>#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)</p><p>#endif /* __ICCARM__ */</p>


注意printf属于标准库<stdio.h>里面的内容,前面要包含以下;
接下来重写printf,使其与UART2关联:

复制

  1. <p>PUTCHAR_PROTOTYPE</p><p>{</p><p> /* Place your implementation of fputc here */</p><p> /* e.g. write a character to the USART3 and Loop until the end of transmission */</p><p> HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);</p><p> return ch;</p><p>}</p>


接下来我们在初始化阶段打印“21ic C092 Test Start!”,然后可以看到串口调试工具在每次复位看到:


---------------------
作者:孤独的单行者
链接:https://bbs.21ic.com/forum.php?mod=viewthread&tid=3452456
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 19:42:44

[STM32C0] 【STM32C092RC 测评】定时器与PWM

PWM&#xff08;脉冲宽度调制&#xff09;技术驱动LED实现呼吸灯效果&#xff0c;巧妙结合了LED的电流响应特性与人眼的视觉暂留效应&#xff0c;是电子领域中一项经典且实用的技术&#xff0c;同时也是深入学习开发板PWM功能与定时器应用的绝佳切入点。LED的亮度与通过它的电流…

作者头像 李华
网站建设 2026/5/2 10:51:37

Markdown表情符号增强技术文章可读性

PyTorch-CUDA-v2.7 镜像&#xff1a;从部署到双模开发的深度实践 在 AI 研发节奏日益加快的今天&#xff0c;一个常见的场景是&#xff1a;刚拿到新服务器的研究员&#xff0c;满怀期待地准备训练模型&#xff0c;结果卡在了环境配置上——torch.cuda.is_available() 返回 Fals…

作者头像 李华
网站建设 2026/5/2 3:47:06

PyTorch-CUDA-v2.7镜像更新日志与功能亮点

PyTorch-CUDA-v2.7 镜像&#xff1a;构建高效深度学习环境的终极实践 在今天&#xff0c;一个AI项目的成败&#xff0c;往往不取决于模型结构多新颖、数据多庞大&#xff0c;而在于——你的环境能不能跑起来&#xff1f; 这听起来像是个玩笑&#xff0c;但在实际研发中却屡见不…

作者头像 李华
网站建设 2026/5/3 9:26:45

将本地PyTorch模型部署到云端GPU服务器的操作流程

将本地PyTorch模型部署到云端GPU服务器的操作流程 在深度学习项目开发中&#xff0c;一个常见的困境是&#xff1a;模型在本地笔记本电脑上调试通过后&#xff0c;一旦面对大规模数据或复杂网络结构&#xff0c;训练速度便变得难以忍受。更糟的是&#xff0c;当团队成员之间共享…

作者头像 李华
网站建设 2026/5/3 23:47:18

学长亲荐8个AI论文软件,研究生轻松搞定毕业论文!

学长亲荐8个AI论文软件&#xff0c;研究生轻松搞定毕业论文&#xff01; AI 工具如何助力论文写作&#xff1f; 在研究生阶段&#xff0c;论文写作是一项既重要又充满挑战的任务。无论是开题报告、文献综述还是最终的毕业论文&#xff0c;都需要大量的时间与精力投入。而随着 A…

作者头像 李华
网站建设 2026/4/29 16:23:41

Anaconda Prompt常用命令整理:高效管理PyTorch环境

Anaconda Prompt 常用命令整理&#xff1a;高效管理 PyTorch 环境 在深度学习项目开发中&#xff0c;一个稳定、可复现的环境往往比模型本身更难维护。你是否曾遇到过这样的场景&#xff1a;本地训练好的模型&#xff0c;在同事机器上却因“找不到 CUDA”或“版本不兼容”而无法…

作者头像 李华