当前位置: 首页>>代码示例>>C++>>正文


C++ Timer_Object类代码示例

本文整理汇总了C++中Timer_Object的典型用法代码示例。如果您正苦于以下问题:C++ Timer_Object类的具体用法?C++ Timer_Object怎么用?C++ Timer_Object使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Timer_Object类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Timer_isrStub

/*
 *  ======== Timer_isrStub ========
 */
Void Timer_isrStub(UArg arg)
{
    ti_catalog_arm_peripherals_timers_TimerRegsM4 *timer;
    Timer_Object *obj = (Timer_Object *)arg;

    timer = (ti_catalog_arm_peripherals_timers_TimerRegsM4 *)
        Timer_module->device[obj->id].baseAddr;

    /* clear all timer interrupt status bits */
    Timer_write(obj->altclk, &timer->GPTMICR, 0xFFFFFFFF);

    /* for DYNAMIC, mode latch prevThreshold and detect rollovers */
    if (obj->runMode == Timer_RunMode_DYNAMIC) {
        /* 
         * if the current threshold is greater than the prevThreshold
         * then a rollover has occurred.
         */
        if (obj->prevThreshold < timer->GPTMTAMATCHR) {
            obj->rollovers += 1;
        }
        obj->prevThreshold = timer->GPTMTAMATCHR;
    }

    obj->tickFxn(obj->arg);
}
开发者ID:mobiaqua,项目名称:ti-sysbios,代码行数:28,代码来源:Timer.c

示例2: Timer_periodicStub

/*
 *  ======== Timer_periodicStub ========
 */
Void Timer_periodicStub(UArg arg)
{
    Timer_Object *obj = (Timer_Object *)arg;
    volatile UInt32 dummy;

    dummy = Hwi_nvic.STCSR; /* read to ack the interrupt */
    Hwi_nvic.ICSR = 0x02000000; /* clear SysTick pending */

    obj->tickFxn(obj->arg);
}
开发者ID:CheredHerry,项目名称:ti-bios,代码行数:13,代码来源:Timer_smp.c

示例3: Timer_stub

/*
 *  ======== Timer_stub ========
 */
Void Timer_stub(UArg arg)
{
    Timer_Object *obj = (Timer_Object *)arg;
    TimerRegs *timer;

    timer = (TimerRegs *)Timer_module->device[obj->id].baseAddr;

    /* acknowledge the interrupt */
    timer->tisr = obj->tier;

    /* call the user's ISR */
    obj->tickFxn(obj->arg);
}
开发者ID:DemonTu,项目名称:ALL_SmartBatterySwitch_CC2640,代码行数:16,代码来源:Timer.c

示例4: Timer_dynStub

/*
 *  ======== Timer_dynStub ========
 */
Void Timer_dynStub(UArg arg)
{
    Timer_Object *obj = (Timer_Object *)arg;
    TimerRegs *timer;
    UInt irqStatus;

    timer = (TimerRegs *)Timer_module->device[obj->id].baseAddr;

    /* get interrupt status flags */
    irqStatus = timer->tisr;

    /* if this is a rollover (overflow) interrupt ... */
    if (irqStatus & TIMER_IRQSTATUS_OVF_IT_FLAG) {

        /* acknowledge the interrupt */
        timer->tisr |= TIMER_IRQSTATUS_OVF_IT_FLAG;

        obj->rollovers++;
    }

    /* if this is a threshold match interrupt ... */
    if (irqStatus & TIMER_IRQSTATUS_MAT_IT_FLAG) {

        /* acknowledge the interrupt */
        timer->tisr |= TIMER_IRQSTATUS_MAT_IT_FLAG;

        /* save previous threshold value */
        obj->prevThreshold = timer->tmar;

        /* set compare threshold for next periodic interrupt */
        timer->tmar += obj->period;

        /* call the user's ISR */
        obj->tickFxn(obj->arg);
    }
}
开发者ID:mobiaqua,项目名称:ti-sysbios-c64t,代码行数:39,代码来源:Timer.c


注:本文中的Timer_Object类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。