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
相关产品推荐
相关产品推荐

