嵌入式程式設計經驗之延遲函式

2021-05-24 21:47:50 字數 614 閱讀 3566

嵌入式程式設計經驗之延遲函式

通常有兩種方法來實現延遲函式,第一種用for

迴圈實現,另一方法就是用定時器實現。

for迴圈實現的延遲函式常用於不精確的延遲,大概的意思。

定時器方式延遲能夠實現精確的延遲。

for迴圈實現延遲

void delay1ms(int time)

定時器方式實現延遲用乙個

timer

當做系統時間

,它通常都會被

設定為每10ms

中斷一次,然後在

裡面加一

個counter

當做delay

用的引數

,例如在timer

中斷函式裡放入

(兩種方式:遞增式和遞減式)。

遞增式:

void time

10ms

_isr(void)

void delay10ms(int time)

遞減式:

void time

10ms

_isr(void)

void delay10ms(int time)

延遲應用

int main()

嵌入式開發經驗

任何開發都依賴硬體,在嵌入式領域。cpu的外設很重要,我們一般都是根據外設進行開發。其實cpu的核心 arm powerpc等 反而對於我們而言並不是那樣重要。開發時,乙個好的硬體測試平台很重要。包括偵錯程式和開發環境。同時,晶元資料手冊和參考手冊很重要。但是絕對不是硬生生地像閱讀一本教科書一樣進行...

嵌入式程式設計

1 interrupt double compute area double radis 1 isr不能返回乙個值。2 isr不能傳遞引數。3 在許多處理器中浮點是不可重入的。4 printf 經常有重入和效能上的問題,所以一般不使用printf 2.volatile 1 volatile的語法和c...

嵌入式程式設計

對於簡單的應用程式,輪詢 許多時候也被稱作超級迴圈 實現起來比較簡單,而且非常適合簡單任務 見圖4.4 不過,當應用程式變得複雜或者對處理能力的要求更高時,輪詢就不合適了。例如,當乙個程序占用時間過長,其他模組在這段時間內就不會收到處理器的任何服務。即便不需要任何處理,處理器也得一直執行輪詢程式,這...