35 測試顯示積木顯示時所花的時間
(2018/09/21)
以前對於顯示積木顯示數字、文字、圖片時所花的時間,都沒有很用心去研究,也一知半解,今天來好好測試一下這些積木所花的時間,並好好校正計時器的時間,經過下午的測試結論如下:
單個顯示積木顯示時所花的時間
顯示圖示積木:600ms
顯示數字積木:750ms(顯示單一個數字)
顯示 LEDs積木:400ms
顯示文字積木:0ms(顯示單一個字母)
(2018/09/23)註:可利用javascript語言,改變所占用的時間
執行後,發現這顯示積木顯示時間已改成1000ms了
一、測試各種顯示積木所占的時間
【量測顯示時間】程式的架構如下:
顯示圖示積木
單個顯示圖示積木
程式:如上
結果:模擬器的值為601ms;實體板子測得的值為599ms;由上可知一個顯示圖示積木所占的時間約600ms
兩個顯示圖示積木(如心臟噗通噗通跳)
程式:
結果:模擬器的值為1202ms;實體板子測得的值為1198ms;由上可知一個顯示圖示積木所占的時間約600ms
兩個顯示圖示積木,再加上等待時間(如心臟噗通噗通跳)
程式:
結果:模擬器的值為1604ms;實體板子測得的值為1605ms;由上可知暫停積木所占的時間與設定值相近
兩個顯示圖示積木,再加上重複執行(如心臟噗通噗通跳)
程式一(重複1次):
結果:模擬器的值為1203ms;實體板子測得的值為1198ms;由上可知一般積木(非顯示及暫停積木)所占的時間非常短,可忽略
程式二(重複10次):
結果:模擬器的值為12027ms;實體板子測得的值為11982ms;由上可知一般積木(非顯示及暫停積木)所占的時間非常短,可忽略
顯示數字積木
單個顯示數字積木
程式:
結果:模擬器的值為751ms;實體板子測得的值為749ms;由上可知一個顯示數字積木所占的時間約750ms
多個顯示數字積木
程式:
結果:模擬器的值為2253ms;實體板子測得的值為2247ms;由上可知一個顯示數字積木所占的時間約750ms
單個顯示數字積木,顯示2位數
程式:
結果:模擬器的值為1661ms(顯示完數字,接著跑時間);實體板子測得的值為2996ms(顯示完數字,等數字消失後,才接著跑時間,所以用的時間比較多);由上可知實體與模擬器的值相差很多,這是跑馬燈作用的影響
單個顯示數字積木,顯示3位數
程式:
結果:模擬器的值為2566ms;實體板子測得的值為3895ms;由上可知實體與模擬器的值相差很多,這是跑馬燈作用的影響
顯示 LEDs積木
單個顯示 LEDs積木
程式:
結果:模擬器的值為401ms;實體板子測得的值為402ms;由上可知一個顯示 LEDs積木所占的時間約400ms
3個顯示 LEDs積木
程式:
結果:模擬器的值為1204ms;實體板子測得的值為1204ms;由上可知一個圖示積木所占的時間約750ms
顯示文字積木
單個顯示 文字積木(只有一個英文字)
程式:
結果:模擬器的值為個位數ms;實體板子測得的值為0ms;由上可知一個顯示單一個英文字母的文字積木所占的時間約0ms
單個顯示 文字積木(有2個英文字)
程式:
結果:模擬器的值為25684ms;實體板子測得的值為2996ms;由上可知實體與模擬器的值相差很多,這是跑馬燈作用的影響
結論
單個顯示積木顯示時所花的時間
顯示圖示積木:600ms
顯示數字積木:750ms(顯示單一個數字)
顯示 LEDs積木:400ms
顯示文字積木:0ms(顯示單一個字母)
測試如下,共花多少時間
根據上面的結論,總共應花7000ms多一些
結果:模擬器的值為7031ms;實體板子測得的值為6998ms;由上可知與估計的相差不多,但表結論應該成功!
二、校正計時程式
以往大家在計時程式的寫作中,常喜歡用如下的方式來計時
但經過實際的量時間後,發現上述程式一共花了18秒才結束,請問小朋友,你該如何來修正?
方法一:由於顯示數字的積木會花了750ms,所以只要暫停250ms 即可!這樣加起來剛好1秒
方法二:不要顯示數字