You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino中多次相同参数函数调用执行时间差异显著的原因咨询

Arduino中多次相同参数函数调用执行时间差异显著的原因咨询

我在Arduino上给自定义的Adf类写了一个成员函数bool Adf::sendAndReceive(char *data, uint8_t length),它的作用是通过Adf类成员pSerial指向的串口发送字符数组,之后读取接收缓冲区。因为收发线路是直接连接的,所以每发送一个字节都会回传到接收缓冲区里。另外我还使用了ArduinoLog库来全程追踪通信流量。

最近碰到了一个特别奇怪的情况:我连续两次用完全相同的参数调用sendAndReceive函数,第一次调用时,记录发送消息的耗时还不到1毫秒,但第二次调用居然花了29毫秒。

实在想不通,为什么相同的函数调用、相同的参数,执行时间会有这么大的差异呢?

以下是涉及到的函数代码片段:

bool Adf::sendAndReceive(char *data, uint8_t length)
{
  uint8_t rxTxLength = 0;

  // send data
  unsigned long start = millis();
  rx...

备注:内容来源于stack exchange,提问作者ilja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:09:34