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秒

    • 方法二:不要顯示數字