当没有连接 COM(串行)端口或串行监视器打开时,arduino 运行 打印功能(print、println、printf 等)是否存在?

does arduino run the print function (print, println, printf, etc.) when no COM (Serial) port is connected or serial monitor open?

我想知道当机器人未连接到 com 端口时,我的代码中的打印语句正在占用处理周期。我是 运行 一个时间敏感的进程,并且有理由相信这些行的执行可能会减慢我的机器人的速度。

当然是。即使没有监听,MCU 仍然会执行解析格式字符串和发送串行数据的操作。

是即使没有连接串口监视器或其他设备也需要处理时间。

一个好的做法是在您的代码中有一个 #define 预处理器指令,指示您是否正在调试。

例如

#define DEBUG_PHASE

#ifdef DEBUG_PHASE
printf(...);
#endif