news 2026/4/23 9:22:41

简单理解:\r\n 在嵌入式行业代表什么?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单理解:\r\n 在嵌入式行业代表什么?

\r\n是 C 语言(尤其是嵌入式开发)中最常用的转义字符组合,核心作用是实现文本输出时的 “换行 + 回车”,让光标跳到下一行开头,这也是串口、日志、文件等场景中标准化的换行方式。

先拆解两个字符的单独含义,再讲组合使用的逻辑:

1. 单个转义字符的含义

转义字符全称实际作用(嵌入式场景)
\rCarriage Return(回车)让光标回到当前行的最左侧开头位置,但不换行
\nLine Feed(换行)让光标向下移动一行,但列位置保持不变

2.\r\n组合的实际效果

在嵌入式串口输出(如你之前代码中的HAL_UART_Transmit)、PC 端文本显示中,单独用\n\r都会有问题:

  • 只写\n:光标换行但可能停留在原列位置(比如串口工具中显示 “叠行”);
  • 只写\r:光标回到行首但不换行(新内容会覆盖当前行的旧内容);
  • \r\n:先回车(回到行首)→ 再换行(下移一行),最终光标定位到下一行开头,符合人类阅读的换行习惯。

3. 嵌入式场景的典型应用

示例 1:串口输出(STM32 HAL 库)
// 输出"Hello CAN Bus!"后换行,光标到下一行开头 HAL_UART_Transmit(&huart1, (uint8_t*)"Hello CAN Bus!\r\n", 14, 100);

串口工具(如串口助手、Putty)接收后的显示效果:

Hello CAN Bus! [光标在这里]
示例 2:CAN 总线报文数据

如果 CAN 总线传输文本类数据,也会用\r\n作为一条消息的结束符,比如:

// CAN报文数据包含换行,便于接收端解析完整消息 uint8_t can_data[] = "Temperature: 25℃\r\n";

4. 补充:不同系统的换行差异(嵌入式需注意)

系统 / 场景换行符嵌入式适配建议
Windows / 串口工具\r\n(CRLF)首选,兼容性最好
Linux/Unix\n(LF)若对接 Linux 设备可仅用\n
老旧打印机 / 终端\r几乎不用,仅历史兼容

嵌入式开发中,优先使用\r\n:不管是对接 Windows 串口工具、Linux 设备还是 CAN 总线,\r\n都是最通用的换行方式,不会出现显示错乱。

总结

  1. \r\n是 “回车 + 换行” 的组合转义字符,核心作用是让光标定位到下一行开头;
  2. 嵌入式串口、日志、文本类数据传输中,\r\n是标准化的换行方式,避免显示错乱;
  3. 单独使用\r\n会导致光标位置异常,实际开发中几乎不会单独用。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 19:19:26

5分钟搞定!SpringBoot 图片验证码集成实战指南

前言 大家好!今天我要和大家分享一个非常实用的功能:Spring Boot图片验证码。这个功能可以防止恶意攻击,比如暴力破解、刷票等。我们实现的是一个带有加减法运算的图片验证码,用户需要正确计算结果才能通过验证。 适合人群&…

作者头像 李华
网站建设 2026/4/23 0:12:20

吐血推荐专科生必用TOP10 AI论文网站

吐血推荐专科生必用TOP10 AI论文网站 专科生必备的AI论文工具测评指南 随着人工智能技术在学术领域的广泛应用,越来越多的专科生开始借助AI工具提升论文写作效率。然而,面对市场上五花八门的AI论文网站,如何选择真正适合自己的工具成为一大难…

作者头像 李华
网站建设 2026/4/17 19:17:31

2024 年用于编程的 LLM:价格、性能与最佳之争

原文:towardsdatascience.com/llms-for-coding-in-2024-performance-pricing-and-the-battle-for-the-best-fba9a38597b6?sourcecollection_archive---------5-----------------------#2024-12-04 基于基准测试和实际世界的洞察,评估当前 LLM 的格局&am…

作者头像 李华
网站建设 2026/4/21 12:54:36

Thymopoietin II Fragment (29-41) ;GEQRKDVYVELYL

一、基础理化性质 英文名称 :Thymopoietin II Fragment (29-41)三字母序列:Gly-Glu-Gln-Arg-Lys-Asp-Val-Tyr-Val-Glu-Leu-Tyr-Leu-OH单字母序列:GEQRKDVYVELYL精确分子量:1611.82 Da等电点(pI)&#xff1…

作者头像 李华