Re: 請問 External Interrupt 和 Input Change Notification 有什麼不一樣?

作者 PSIR 於 2016年10月17日 10:30:33
用了 PIC32MM0016GPL020 寫一段測試程式來觀察 ICN 中斷動作,
以下是根據手冊中的 TABLE 9-1:CHANGE NOTIFICATION EVENT OPTIONS 表來設定觸發形式與腳位:

//--設定觸發形式與腳位negative transition
CNCONBbits.CNSTYLE=1;
CNEN1Bbits.CNIE1B9=1; // Pin : RB9
CNEN0Bbits.CNIE0B9=1; // Pin : RB9
CNFBbits.CNFB9=0; // Pin : RB9

上面的 Code 是 MCC 產生的,對負緣信號會觸發並且進中斷,但發現有 2 個現象:

(1)進中斷時除了清除 ICN 本身中斷旗號外,也會清除這個旗號 CNFBbits.CNFB9,我查不到 CNFB 是什麼暫存器,請問有人知道嗎?

(2)輸入 50Hz 的方波來觀察觸發情形,大部分時間都可以觀察到在負緣被觸發,但有時候會突然 Lost 掉然後就沒有再也不會被觸發了,即使將中斷優先權設到最高也一樣。

結論:這種電平改變觸發可能不適合用在頻率快的場合,很可能一次捕捉不到就再也捕捉不到往後的事件,比較適合用在例如從待機狀態喚醒的觸發,因為若用手動去觸發都能很穩定的改變。

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=8&topic_id=19569&post_id=73267