首页 > 代码库 > Arduino101学习笔记(九)—— 中断函数

Arduino101学习笔记(九)—— 中断函数

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);

Arduino101学习笔记(九)—— 中断函数