2026/4/17 17:43:11
网站建设
项目流程
wordpress网站备份,2019网站seo,网站建设核心系统,婚纱网站开发\r\n 是 C 语言#xff08;尤其是嵌入式开发#xff09;中最常用的转义字符组合#xff0c;核心作用是实现文本输出时的 “换行 回车”#xff0c;让光标跳到下一行开头#xff0c;这也是串口、日志、文件等场景中标准化的换行方式。先拆解两个字符的单独含义#xff0c…\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! [光标在这里]示例 2CAN 总线报文数据如果 CAN 总线传输文本类数据也会用\r\n作为一条消息的结束符比如// CAN报文数据包含换行便于接收端解析完整消息 uint8_t can_data[] Temperature: 25℃\r\n;4. 补充不同系统的换行差异嵌入式需注意系统 / 场景换行符嵌入式适配建议Windows / 串口工具\r\nCRLF首选兼容性最好Linux/Unix\nLF若对接 Linux 设备可仅用\n老旧打印机 / 终端\r几乎不用仅历史兼容嵌入式开发中优先使用\r\n不管是对接 Windows 串口工具、Linux 设备还是 CAN 总线\r\n都是最通用的换行方式不会出现显示错乱。总结\r\n是 “回车 换行” 的组合转义字符核心作用是让光标定位到下一行开头嵌入式串口、日志、文本类数据传输中\r\n是标准化的换行方式避免显示错乱单独使用\r或\n会导致光标位置异常实际开发中几乎不会单独用。