zoukankan      html  css  js  c++  java
  • 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() ;
  • 相关阅读:
    [Swift]LeetCode374. 猜数字大小 | Guess Number Higher or Lower
    [Swift]LeetCode371. 两整数之和 | Sum of Two Integers
    [Swift]LeetCode367. 有效的完全平方数 | Valid Perfect Square
    [Swift]LeetCode350. 两个数组的交集 II | Intersection of Two Arrays II
    [Swift]LeetCode349. 两个数组的交集 | Intersection of Two Arrays
    [Swift实际操作]七、常见概念-(9)使用定时组件Timer执行定时任务
    [Swift实际操作]七、常见概念-(8)日历Calendar和时区TimerZone
    浅谈广告交易系统
    浅谈广告交易系统
    6种排序算法的简洁实现:冒泡、选择、插入、归并、快速、堆
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6058216.html
Copyright © 2011-2022 走看看