当没有连接COM(串行)端口或串行监视器打开时,arduino是否运行打印功能(print,println,printf等)?
问题描述:
我想知道我的代码中的打印语句正在处理机器人未连接到com端口的处理周期。我正在运行一个时间敏感的进程,并有理由相信这些行的执行可能会减慢我的机器人速度。当没有连接COM(串行)端口或串行监视器打开时,arduino是否运行打印功能(print,println,printf等)?
答
是即使没有连接串口监视器或其他设备,也需要处理时间。
一个好的做法是在代码中有一个#define
预处理器指令,指示您是否正在调试。
例如
#define DEBUG_PHASE
#ifdef DEBUG_PHASE
printf(...);
#endif
答
当然是。即使没有监听,MCU仍然会通过解析格式字符串和发送串行数据的操作。
你无论如何都要使用这样的编译器开关,启用/禁用看门狗。或者,也许爱好者的东西甚至不会首先使用看门狗...... – Lundin 2015-03-02 12:46:38