arduino代码运行时间测试函数,代码性能运行时间测试方法
先感謝“皮皮學(xué)電子”同學(xué)的幫助,秒回完美快速的解決了我的問題(難得遇到明白人)。我在GitHub上找了半天,以為需要額外的庫(kù)函數(shù)調(diào)用定時(shí)器才能實(shí)現(xiàn)代碼運(yùn)行時(shí)間的測(cè)試功能,沒想到arduino里自帶,還非常簡(jiǎn)單粗暴,符合我的風(fēng)格。arduino太強(qiáng)大了。
需求的提出:
最近在搞文件上傳,就是用esp8266把一個(gè)文件通過wifi上傳到服務(wù)器?;竟δ軐?shí)現(xiàn)了,但需要測(cè)試一下上傳時(shí)間,時(shí)間就是金錢嗎,時(shí)間太長(zhǎng)的話,基本上就沒必要搞了,沒有意義。
解決過程開頭都說了,這里直接說怎么用
millis():毫秒(ms)級(jí)測(cè)試函數(shù),返回值32位無(wú)符號(hào)
micros():微秒(us)級(jí)測(cè)試函數(shù),返回值32位無(wú)符號(hào)
使用方法:非常簡(jiǎn)單,整一個(gè)變量,測(cè)試函數(shù)前邊讀取一下,測(cè)試函數(shù)的后邊再讀取一下,后邊的大數(shù)減去前邊的小數(shù),即兩次的數(shù)值做差就能得出函數(shù)的運(yùn)行時(shí)間了。詳細(xì)測(cè)試程序見下圖
非常簡(jiǎn)單哈,下邊是上邊圖片的代碼,方便大家粘貼
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();//msdelay(1000); // wait for a secondtimecnt = millis()-timecnt;Serial.printf("timecnt=%d\n",timecnt); */timecnt = micros();//usdelay(1); // testtimecnt = micros()-timecnt;Serial.printf("timecnt=%d\n",timecnt);digitalWrite(D0, LOW); //LED_BUILTIN turn the LED off by making the voltage LOWdelay(1000); // wait for a second }上邊注釋的代碼是測(cè)試millis()毫秒級(jí)的測(cè)試函數(shù),下邊的micros()是微秒級(jí)的測(cè)試函數(shù)。
獲取更多創(chuàng)客作品和教程,請(qǐng)關(guān)注我:DLGG創(chuàng)客DIY,微信微博頭條同名,歡迎關(guān)注
總結(jié)
以上是生活随笔為你收集整理的arduino代码运行时间测试函数,代码性能运行时间测试方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PC工具】如何简单粗暴无脑的解方程
- 下一篇: 【树莓派】小空间树莓派镜像系统备份方法i