1、設置中斷函數
//********************************************************************************************* //函數名稱:void attachInterrupt (uint8_t interruptNum, void(*)(void)userFunc, int mode); //輸入參數:interruptNum:終端類型0和1兩種 // userFunc: 設置中斷函數指針 // mode: 設置中斷類型 // LOW 低電平觸發中斷 // CHANGE 變化時觸發中斷 // RISING 低電平變為高電平觸發中斷 // FALLING 高電平變為低電平觸發中斷 //函數返回: //函數功能:指定中斷函數. 外部中斷有0和1兩種, 一般對應2號和3號數字引腳 //********************************************************************************************* void attachInterrupt (uint8_t interruptNum, void(*)(void)userFunc, int mode);
在中斷函數中 delay 函數不能使用, millis 始終返回進入中斷前的值. 讀串口數據的話, 可能會丟失. 中斷函數中使用的變量需要定義為 volatile 類型
2、取消中斷
//********************************************************************************************* //函數名稱:void detachInterrupt (uint8_t interruptNum); //輸入參數:interruptNum:終端類型0和1兩種 //函數返回:無 //函數功能:關中斷 //********************************************************************************************* void detachInterrupt (uint8_t interruptNum);