新增中斷#
attachInterrupt(digitalPinToInterrupt(pin), ISR, mode); |
- 有三種可選:
- 第一個參數代表幾號中斷或是幾號 pin,通常用第一種寫法最保險
- 第二個參數放 ISR,當中斷發生時要做的事
- 第三個參數為發生中斷的模式,下面有詳細介紹
模式#
- LOW:當 pin 處於低電位的時候觸發中斷
- RISING:當 pin 從低電位轉為高電位時觸發中斷
- FALLING:當 pin 從高電位轉為高電位時觸發中斷
- CHANGE:當 pin 的電位發生改變時觸發中斷
- HIGH:當 pin 處於高電位時觸發中斷(只適用 arduino due)
移除中斷#
detachInterrupt(digitalPinToInterrupt(pin)); |
- 一樣有三個寫法,與新增中斷的第一個參數相同。
關閉/開啟中斷#
noInterrupts(); |
noInterrupts
不會將 reset
中斷關閉。