欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機定時器T1連續觸發中斷的問題 [打印本頁]

作者: 13681878016    時間: 2020-5-16 04:45
標題: 單片機定時器T1連續觸發中斷的問題
假設一個單片機定時器定時20微秒溢出一次,可是它的中斷服務函數需要50微秒才能完成。這時候在中斷函數內又產生了了一次定時器溢出,即中斷請求。那么當前一次中斷做完了,跳回主函數之后,是馬上進入下一次中斷函數呢?還是說同級的中斷請求因為在執行中斷函數時申請的,不能發生,被忽視了?

百度說有個中斷標志,是說TF1嗎,如果在中斷服務函數結束后,標志還在,就會馬上進入下一次中斷函數?(假設在恰巧中斷服務函數的正中間申請,不在開頭發生)

但是據我了解TF1是硬件清0,而且是中斷產生后TF1等于1,在進入了中斷服務函數之后,馬上就TF1置0,也就是說在中斷服務函數的開頭執行硬件清0。所以如果同級的第二次中斷請求(或者說標志)在此處觸發,被清0了,就不會在退出中斷服務函數時,還存在中斷標志了嗎? 也就是說同級中斷被無視了一次申請?能這樣理解嗎
作者: wulin    時間: 2020-5-16 06:44
《假設一個單片機定時器定時20微秒溢出一次,可是它的中斷服務函數需要50微秒才能完成》如果定時器1被打開,20微秒后溢出發生中斷請求TF1=1,CPU響應此請求后硬件置TF1=0,執行中斷服務函數。在此期間發生任何同級中斷請求都不會得到響應,包括自身。直到完成此中斷任務CPU才能響應其它中斷請求。如果執行中斷服務函數所需時間大于或等于自身定時周期就會發生自身中斷丟失和其它中斷請求不能及時響應或丟失。這是編程的邏輯錯誤,必須避免發生執行中斷服務函數所需時間接近自身定時周期,更不能大于或等于自身定時周期。否則CPU根本沒有時間執行其它任務。
作者: 13681878016    時間: 2020-5-16 09:40
wulin 發表于 2020-5-16 06:44
《假設一個單片機定時器定時20微秒溢出一次,可是它的中斷服務函數需要50微秒才能完成》如果定時器1被打開 ...

那么在執行中斷服務函數期間雖然不會執行/響應“請求”(即重頭執行中斷函數),但是這個請求會被“保留“”嗎? 也就是說在執行完一次中斷后立刻再進入中斷服務函數。 還是說這個請求就被無視了,之后直接做main里的內容了?
作者: wulin    時間: 2020-5-16 11:34
13681878016 發表于 2020-5-16 09:40
那么在執行中斷服務函數期間雖然不會執行/響應“請求”(即重頭執行中斷函數),但是這個請求會被“保留 ...

你提這個問題是沒有理解上文的意思。按你假設的條件發生3次中斷請求只能有1次被執行。
作者: 13681878016    時間: 2020-5-16 14:25
wulin 發表于 2020-5-16 11:34
你提這個問題是沒有理解上文的意思。按你假設的條件發生3次中斷請求只能有1次被執行。

我有點不懂。因為中斷標志TF1會被置1,才會進中斷服務函數(響應)。那么之后發生的新的同級中斷,是不會讓TF1置1嗎? 我的意思是會不會發生中斷標志的堆積(即做完一次馬上又做一次),不是指打斷中斷。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1