找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3168|回復(fù): 5
收起左側(cè)

關(guān)于單片機(jī)長延時(shí)函數(shù)

[復(fù)制鏈接]
ID:56665 發(fā)表于 2019-8-28 08:50 | 顯示全部樓層 |閱讀模式
長延時(shí)用Delay會(huì)影響系統(tǒng)正常工作,不用Delay只用定時(shí)器分別延時(shí)10秒,15分鐘、1小時(shí)封裝成函數(shù),需要使用延時(shí)時(shí)就調(diào)用這個(gè)函數(shù),怎樣做才能達(dá)到這個(gè)要求。
回復(fù)

使用道具 舉報(bào)

ID:604918 發(fā)表于 2019-8-28 21:19 | 顯示全部樓層
你可以考慮while(1)再使用中斷跳出來
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2019-8-28 22:09 | 顯示全部樓層
只要學(xué)會(huì)使用定時(shí)器和標(biāo)志位,就可以獲得大于1us的任意時(shí)長的延時(shí)時(shí)間。沒有人會(huì)去考慮封裝成函數(shù)。
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2019-8-29 15:07 | 顯示全部樓層
“定時(shí)器”這三個(gè)字的意思是什么呢?就只能一個(gè)DELAY嗎?
回復(fù)

使用道具 舉報(bào)

ID:351097 發(fā)表于 2019-8-30 10:15 | 顯示全部樓層
可以考慮搞一個(gè)系統(tǒng)時(shí)間計(jì)時(shí)變量long類型的 system_time,在寫一個(gè)1ms的定時(shí)器中斷程序,在定時(shí)器中斷處理函數(shù)里面讓system_time++,這樣每1ms,system_time就會(huì)累加1。假設(shè)要延時(shí)10秒,可以用old_time = system_time獲取舊時(shí)間,然后用new_time  = system_time獲取新時(shí)間,再判斷if(new_time - old_time >=10000),如果滿足,就說明10秒到了。延時(shí)15分鐘,還是延時(shí)1小時(shí),也是可以這樣處理。
回復(fù)

使用道具 舉報(bào)

ID:494577 發(fā)表于 2019-8-30 16:01 | 顯示全部樓層
使用定時(shí)器和標(biāo)志位,設(shè)置好所需的初始值就行  不需要封裝成函數(shù)了,定時(shí)器是不能封裝成函數(shù)的
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表