其他分享
首页 > 其他分享> > 【arduino】arduino代码运行时间测试函数,代码性能运行时间测试方法

【arduino】arduino代码运行时间测试函数,代码性能运行时间测试方法

作者:互联网

    先感谢“皮皮学电子”同学的帮助,秒回完美快速的解决了我的问题(难得遇到明白人)。我在GitHub上找了半天,以为需要额外的库函数调用定时器才能实现代码运行时间的测试功能,没想到arduino里自带,还非常简单粗暴,符合我的风格(watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)。arduino太强大了。

    需求的提出:

    最近在搞文件上传,就是用esp8266把一个文件通过wifi上传到服务器。基本功能实现了,但需要测试一下上传时间,时间就是金钱吗,时间太长的话,基本上就没必要搞了,没有意义。

    解决过程开头都说了,这里直接说怎么用

    millis():毫秒(ms)级测试函数,返回值32位无符号

    micros():微秒(us)级测试函数,返回值32位无符号

使用方法:非常简单,整一个变量,测试函数前边读取一下,测试函数的后边再读取一下,后边的大数减去前边的小数,即两次的数值做差就能得出函数的运行时间了。详细测试程序见下图

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

非常简单哈,下边是上边图片的代码,方便大家粘贴

void setup() {
  Serial.begin(115200);
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(D0, OUTPUT);//LED_BUILTIN
}


// the loop function runs over and over again forever
void loop() {
  unsigned int timecnt;
  digitalWrite(D0, HIGH);   // LED_BUILTIN   turn the LED on (HIGH is the voltage level)
/*  timecnt = millis();//ms
  delay(1000);                       // wait for a second
  timecnt = millis()-timecnt;
  Serial.printf("timecnt=%d\n",timecnt);
*/
  timecnt = micros();//us
  delay(1);                       // test
  timecnt = micros()-timecnt;
  Serial.printf("timecnt=%d\n",timecnt);
  
  digitalWrite(D0, LOW);    //LED_BUILTIN turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

上边注释的代码是测试millis()毫秒级的测试函数,下边的micros()是微秒级的测试函数。

arduino相关文章:

【arduino】arudino开发ESP8266 SPIFFS文件上传方法

【arduino】arduino家族,arduino相关各种开发环境汇总,Mixly米思齐最新python开发环境

【DIY】手把手教你 DIY 最便宜的 arduino 温湿度计,详细图文视频教程

【arduino】arduino ISP下载程序方法

【arduino】米思齐Mixly模块编写修改方法,非常简单的Mixly模块修改方法

标签:LED,arduino,micros,代码运行,BUILTIN,timecnt,测试函数
来源: https://blog.51cto.com/u_15259603/2879432