Arduino101学习笔记(十二)—— 101定时器中断

一、API

1、开定时器中断

//*********************************************************************************************
//函数名称:CurieTimerOne.start(int timerPeriodUsec, userCallBack)
//输入参数:timerPeriodUsec:: 多少微妙产生中断
//                  userCallBack      : 中断函数
//函数返回:无
//函数功能:开定时器中断
//*********************************************************************************************
CurieTimerOne.start(int timerPeriodUsec, userCallBack);

2、重定义定时器时间

//*********************************************************************************************
//函数名称:CurieTimerOne.restart(int timerPeriodUsec)
//输入参数:timerPeriodUsec:: 多少微妙产生中断
//函数返回:无
//函数功能:重开定时器中断时间
//*********************************************************************************************
CurieTimerOne.restart(int timerPeriodUsec);

3、关中断,恢复为上电状态

//*********************************************************************************************
//函数名称:CurieTimerOne.kill()
//输入参数:无
//函数返回:无
//函数功能:关中断
//*********************************************************************************************
CurieTimerOne.kill();

4、重配置定时器中断函数

//*********************************************************************************************
//函数名称:CurieTimerOne.attachInterrupt(userCallBack)
//输入参数:userCallBack:中断函数
//函数返回:无
//函数功能:配置中断函数
//*********************************************************************************************
CurieTimerOne.attachInterrupt(userCallBack);

5、取消配置此中断函数,但定时器不停止

//*********************************************************************************************
//函数名称:CurieTimerOne.detachInterrupt()
//输入参数:无
//函数返回:无
//函数功能:取消配置中断函数
//*********************************************************************************************
CurieTimerOne.detachInterrupt();

6、返回触发的中断次数

//*********************************************************************************************
//函数名称:CurieTimerOne.readTickCount()
//输入参数:无
//函数返回:中断次数
//函数功能:返回触发的中断次数
//*********************************************************************************************
CurieTimerOne.readTickCount();

7、重置中断次数

//*********************************************************************************************
//函数名称:rdRstTickCount()
//输入参数:无
//函数返回:中断次数
//函数功能:返回触发的中断次数并重置
//*********************************************************************************************
rdRstTickCount();

8、暂停定时器中断

//*********************************************************************************************
//函数名称:CurieTimerOne.pause()
//输入参数:无
//函数返回:无
//函数功能:暂停定时器中断
//*********************************************************************************************
CurieTimerOne.pause();

9、PWM生成

//*********************************************************************************************
//函数名称:CurieTimerOne.pwmStart(int outputPin, int dutyRange, unsigned int periodUsec) 
//输入参数:outputPin 输出管脚
//                 dutyRange  范围是0到1023,对应0到100占空比
//                 periodUsec : Hz=(periodUsec/1000000) 
//函数返回:无
//函数功能:PWM
//*********************************************************************************************
CurieTimerOne.pwmStart(int outputPin, int dutyRange, unsigned int periodUsec) ;



//*********************************************************************************************
//函数名称:CurieTimerOne.pwmStart(int outputPin, double dutyPercentage, unsigned int periodUsec)
//输入参数:outputPin 输出管脚
//                 dutyPercentage, 占空比
//                 periodUsec : Hz=(periodUsec/1000000) 
//函数返回:无
//函数功能:PWM
//*********************************************************************************************
CurieTimerOne.pwmStart(int outputPin, double dutyPercentage, unsigned int periodUsec) ;

10、关PWM,设置管脚状态为LOW

//*********************************************************************************************
//函数名称:CurieTimerOne.pwmStop()
//输入参数:无
//函数返回:无
//函数功能:关PWM
//*********************************************************************************************
CurieTimerOne.pwmStop() ;
原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6058216.html