標題:
關(guān)于單片機長延時函數(shù)
[打印本頁]
作者:
m182892
時間:
2019-8-28 08:50
標題:
關(guān)于單片機長延時函數(shù)
長延時用Delay會影響系統(tǒng)正常工作,不用Delay只用定時器分別延時10秒,15分鐘、1小時封裝成函數(shù),需要使用延時時就調(diào)用這個函數(shù),怎樣做才能達到這個要求。
作者:
fade@zds
時間:
2019-8-28 21:19
你可以考慮while(1)再使用中斷跳出來
作者:
wulin
時間:
2019-8-28 22:09
只要學會使用定時器和標志位,就可以獲得大于1us的任意時長的延時時間。沒有人會去考慮封裝成函數(shù)。
作者:
yzwzfyz
時間:
2019-8-29 15:07
“定時器”這三個字的意思是什么呢?就只能一個DELAY嗎?
作者:
沒有你
時間:
2019-8-30 10:15
可以考慮搞一個系統(tǒng)時間計時變量long類型的 system_time,在寫一個1ms的定時器中斷程序,在定時器中斷處理函數(shù)里面讓system_time++,這樣每1ms,system_time就會累加1。假設(shè)要延時10秒,可以用old_time = system_time獲取舊時間,然后用new_time = system_time獲取新時間,再判斷if(new_time - old_time >=10000),如果滿足,就說明10秒到了。延時15分鐘,還是延時1小時,也是可以這樣處理。
作者:
qweo23
時間:
2019-8-30 16:01
使用定時器和標志位,設(shè)置好所需的初始值就行 不需要封裝成函數(shù)了,定時器是不能封裝成函數(shù)的
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1