Arduino101学习笔记—— 101定时器中断

Posted Blue Mountain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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() ;

以上是关于Arduino101学习笔记—— 101定时器中断的主要内容,如果未能解决你的问题,请参考以下文章

Arduino101学习笔记(十三)—— 101六轴传感器

Arduino101学习笔记—— 模拟IO

Arduino101学习笔记—— 高级IO

Arduino101学习笔记—— 函数库

Arduino101学习笔记—— 时间API

Arduino101学习笔记—— 一些注意的语法点