F2MC-16LX 系列常見問題
中斷
- 沒有出現中斷。是什麼原因造成的?
- 請告訴我同一級別的中斷一起出現時,所用的優先順序。
- 從外部中斷輸入到中斷處理執行需要多長時間?
- 當中斷請求在中斷處理中出現時,請求可以保持嗎?
- 在某種類型中斷處理中生成的中斷請求和正在執行的中斷具有同樣的優先順序,是否會出現多重中斷?
- 如果在中斷請求之後又立即出現了更高級別的中斷請求,該高級別中斷請求將什麼時候啟動?
- 在重啟之後是否可能立即出現中斷?
- 如果等於或小於外部中斷輸入標準的脈衝被輸入,是否會出現中斷?
- 在重啟取消後,外部中斷處理不穩定。
- 當外部中斷不足時,我該怎麼做?
- 在中斷程式中如何改變ILM中斷級別。
- 當使用外部中斷時,級別和邊緣是可以選擇的。請教授我中斷檢測的抽樣方法。
- 硬體手冊中中斷處理時間項規定了躍遷到中斷處理的等待時間。
然而,中斷處理結束後,回到原狀態的功能所需要的時間沒有規定。 - 手冊中中斷章節的中斷取樣時間項中規定“中斷請求取樣時間是在具有最長執行週期的POPW RW0,...RW7指令(45個機器工作週期)啟動後不久出現中斷請求時的最大等待時間值。教授我計算45個機器工作週期的運算式。
- 當看門狗計時器啟動之後,是否能停止?
- 我可以使用固定週期中斷(例如計時器)來明確處理看門狗計時器嗎
- 看門狗重啟要多長時間?
- 看門狗計時器在單片機的停止模式中運行嗎?
- 我該怎樣使用沒有用過的中斷向量?
- 當沒有定義的指令被執行時,會出現怎樣的情況?
- 在異常中斷出現時,PC值該怎樣存到系統棧?
沒有出現中斷。是什麼原因造成的?
- 回答:
中斷不出現有幾個原因:
- CPU的I標記設置了嗎?
- 目標中斷設置了嗎?
- CPU的中斷級別是不是低於目標中斷級別?
- 正在處理的中斷的級別是不是高於目標中斷級別?
- 目標中斷向量是不是合適?
- 目標中斷被啟動了嗎?
請告訴我同一級別的中斷一起出現時,所用的優先順序。
- 回答:
手冊中中斷章節提供中斷向量號。當同一級別的向量同時出現,具有較小中斷向量號的向量具有處理優先權。
從外部中斷輸入到中斷處理執行需要多長時間?
- 回答:
CPU的中斷在每個指令的最後迴圈週期中被接受。所以,中斷的接收情況取決於被執行的指令。在中斷被接受後,中斷處理在中斷處理時間過去後會被執行。
如需瞭解詳細資訊,請參閱每個產品的硬體手冊。
當正在處理中斷的時候產生另一個中斷請求,請求可以保持嗎?
- 回答:
當新產生的中斷級別高於正在處理的中斷的級別,中斷程式會轉入新的中斷。當新產生中斷的級別低於當前的中斷,在當前執行的中斷程式結束之後,會進入到新的中斷。
在某種類型中斷處理中生成的中斷請求和正在執行的中斷具有同樣的優先順序,是否會出現多重中斷?
- 回答:
多重中斷不會出現。新生成的中斷請求會被保留。等正在處理的中斷結束後,該請求會被接受(中斷處理被執行)。
如果在中斷請求之後又立即出現了更高級別的中斷請求,該高級別中斷請求將什麼時候啟動?
- 回答:
如果兩個中斷同時出現,高級別的中斷會被處理。然而,一旦低級別中斷進入處理時間,低級別的中斷不會被接受,直到高級別的中斷處理結束。
因此,高級別中斷處理會在執行中斷的處理時間結束後啟動。
在重啟之後是否可能立即出現中斷?
- 回答:
在重啟之後,中斷標記符失效。所以,沒有中斷會出現。
如果等於或小於外部中斷輸入標準的脈衝被輸入,是否會出現中斷?
- 回答:
外部中斷的輸入標準是用脈寬規定的,當超過規定值的脈寬被輸入後,中斷處理的正常執行是可以保證的。
即使等於或小於外部中斷輸入標準寬度的脈衝被輸入後,中斷處理也可能出現。
然而,這種運行無法確保。因此,我們建議使用符合標準的脈衝。
在重啟取消後,外部中斷處理不穩定。
- 回答:
因為初始值還沒有被定義,中斷因數寄存器的EIRR需要被初始化。
除非下面的幾專案按照如下順序處理:1. ELVR (中斷), 2. EIRR (因數)純淨 , 3. ENIR (中斷啟動) , 否則, 意外中斷可能會出現。
當外部中斷不夠時,我該怎麼做?
- 回答:
我們認為,你可以使用輸入捕捉作為中斷的代替(就輸入捕捉而言,你可以通過ICS:EG.選擇檢測邊緣)。
在中斷程式中如何改變ILM中斷級別。
- 回答:
改變輸入程式中ILM級別的方法一般用來避免由於把ILM級別提高所生成的新的中斷。要注意,當ILM級別在中斷程式中被調低,正在執行的中斷可能會出現多重中斷。
當使用外部中斷時,電平和邊緣是可以選擇的。請教我中斷檢測的採樣方法(針對:MB90495G)
- 回答:
採樣時鐘是一種內部運算時鐘。1)就電平檢測而言,一個電平是由一次採樣決定的。2)就邊緣檢測而言,邊緣是由與最後值的比較決定的。
硬體手冊中中斷處理時間項規定了躍遷到中斷處理的等待時間。然而,中斷處理結束後,回到原狀態的等待時間沒有規定。
- 回答:
就中斷返回時間而言,就是RETI指令執行時間。就中斷躍遷而言,處理中斷的時間是指在CPU指令處理中所需要躍遷到中斷處理的時間。然而,就中斷返回而言,無需特殊的時間,因為指令會繼續被處理。
手冊中中斷章節的中斷取樣時間項中規定“中斷請求取樣時間是在具有最長執行週期的POPW RW0,...RW7指令(45個機器工作週期)啟動後立即出現中斷請求的最大等待時間值。教授我計算得出45個機器工作週期的運算式。
- 回答:
指令表說明POPW rlst週期數等於7 + 3 × (POP次數) + 2 × (POP最後寄存號)。
• 因此,RW0 到 RW7出現的POPW的週期數等於7 + 3 × 8 + 2 × 7 = 45 週期。
當看門狗計時器啟動之後,是否能停止?
- 回答:
一旦當看門狗計時器啟動之後,就只有通過重啟才能停止。
我可以使用一個固定週期的中斷(例如計時器)來執行看門狗計時器的清除處理嗎?
- 回答:
我們不建議使用這種方法,因為當固定週期中斷(如計時器)被使用來執行看門狗計時器的清零處理時,看門狗計時器效果會減少一半。
看門狗重啟要多長時間?
- 回答:
看門狗重啟的時間為三個週期。
看門狗計時器在單片機的停止模式中運行嗎?
- 回答:
在單片機的停止模式中,看門狗停止運行,因為振盪停止。在回到停止模式之後,看門狗計數器被清零,看門狗繼續運行。
我該怎樣處理沒有用過的中斷向量?
- 回答:
我們建議把同一向量中未使用過的中斷全部設置為重啟向量或者設置一個處理程式來處理它們。
當沒有定義的指令被執行時,會出現怎樣的情況?
- 回答:
在FMC-16LX系列中,執行未定義的指令會生成異常中斷。
通過將異常中斷定義為復位中斷,處理異常中斷會產生復位。
在異常中斷出現時,該怎樣將PC值存到系統棧?
- 回答:
当當沒有定義的指令被執行時,會出現異常中斷。含有未定義指令的程式位址會被存到系統堆疊。注意PC值的堆疊操作的方法和普通的中斷有所不同。
