天天看點

單片機程式設計開發技巧

工作了7個月之久,對單片機的程式設計也開始慢慢熟悉起來,以前總是知道單片機就是定時器,狀态機,中斷這些東西結合起來效率是相當高的,但是自從接手開發GPF這個晶片之後,我發現了另外一種單片機的開發技巧,高手請繞道。

      我們都知道,在程式中,延時會影響單片機的實時性能,導緻效率明顯降低,但是在GPF這個晶片的開發中,系統延時和初始化被供應商做到了一塊,是以調用程式,必須要做一定的loop才能使得程式能夠正常的跑起來,其實我也不知道她們為什麼要這麼做。

      在工作中,改一份源碼不是随随便便就可以改的,當時做了這麼一個程式,源碼我就不公開了,寫個案例解釋:

在while循環中,首先進去是延時20個ms,然後count計數器加加,當加到50次也就是一秒鐘了,然後清零。此時若按下按鍵,不會受到幹擾,程式正常運作,效率依然很高。如果這時候delay_20ms改成delay_1000ms,程式掃描按鍵每次就要等待1s鐘,影響效率。計數值可以自我估計一下,不需要太準,這樣的程式在延時不需要太精準的可以實作和定時器差不多一樣的功能。

繼續閱讀