• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ ISR_EXIT函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: PWM_ISR

void PWM_ISR ( void ) {
  ISR_ENTRY();
  //  LED_TOGGLE(2);
  if (servos_idx == 0) {
    IO1CLR = _BV(SERV1_RESET_PIN);
    IO1SET = _BV(SERV1_DATA_PIN);
    PWMMR0 = servos_values[servos_idx];
    servos_delay = SERVO_REFRESH_TICS - servos_values[servos_idx];
    PWMLER = PWMLER_LATCH0;
    servos_idx++;
  }
  else if (servos_idx < _4015_NB_CHANNELS) {
    IO1CLR = _BV(SERV1_DATA_PIN);
    PWMMR0 = servos_values[servos_idx];
    servos_delay -= servos_values[servos_idx];
    PWMLER = PWMLER_LATCH0;
    servos_idx++;
  }
  else {
    IO1SET = _BV(SERV1_RESET_PIN);
    PWMMR0 = servos_delay;
    PWMLER = PWMLER_LATCH0;
    servos_idx = 0;
  }
  /* clear the interrupt */
  PWMIR = PWMIR_MRI_SERV1;
  VICVectAddr = 0x00000000;
  ISR_EXIT();  
}
开发者ID:arizonamav,项目名称:Old-paparazzi-designs,代码行数:29,代码来源:servos_4015_hw.c


示例2: SSP_ISR

static void SSP_ISR(void) {
 ISR_ENTRY();

 MmOnSpiIt();

 VICVectAddr = 0x00000000; /* clear this interrupt from the VIC */
 ISR_EXIT();
}
开发者ID:0lri,项目名称:paparazzi,代码行数:8,代码来源:mag_micromag_fw_hw.c


示例3: __attribute__

__attribute__ ((naked)) void TIMER_0_ISR_0(void)
{
    ISR_ENTER();
    DEBUG("\nenter ISR\n");
    irq_handler(TIMER_0, TIMER_0_DEV_0, TIMER_0_DEV_1);
    DEBUG("leave ISR\n\n");
    ISR_EXIT();
}
开发者ID:ShaneLan,项目名称:RIOT,代码行数:8,代码来源:timer.c


示例4: USBIntHandler

/**
	Interrupt handler

	Simply calls the USB ISR, then signals end of interrupt to VIC
 */
void USBIntHandler(void)
{
    ISR_ENTRY();
    USBHwISR();

    VICVectAddr = 0x00;    // dummy write to VIC to signal end of ISR
    ISR_EXIT();
}
开发者ID:promovicz,项目名称:lpcusb,代码行数:13,代码来源:isoc_io_dma_sample.c


示例5: ws2812_int

static void NACKEDFUNC ATTR
ws2812_int (void) /* SSC Interrupt Handler */ 
{
  ISR_ENTRY();
  ws2812_int_safe();
  *AT91C_AIC_EOICR = 0;                   /* End of Interrupt */
  ISR_EXIT();
}
开发者ID:fluffware,项目名称:pinball_controller,代码行数:8,代码来源:ws2812-interrupt.c


示例6: EXTINT_ISR

void EXTINT_ISR(void) {
  ISR_ENTRY();
  /* no, we won't do anything asynchronously, so just notify */
  ms2001_status = MS2001_GOT_EOC;
  /* clear EINT */
  EXTINT = (1<<MS2001_DRDY_EINT);
  VICVectAddr = 0x00000000;    /* clear this interrupt from the VIC */
  ISR_EXIT();
}
开发者ID:0lri,项目名称:paparazzi,代码行数:9,代码来源:ms2001_arch.c


示例7: uart1_ISR

void uart1_ISR(void) {
  // perform proper ISR entry so thumb-interwork works properly
  ISR_ENTRY();

  uart_ISR(&uart1);

  VICVectAddr = 0x00000000;             // clear this interrupt from the VIC
  ISR_EXIT();                           // recover registers and return
}
开发者ID:Fokker,项目名称:paparazzi-1,代码行数:9,代码来源:uart_arch.c


示例8: EXTINT_ISR

void EXTINT_ISR(void)
{
  ISR_ENTRY();
  baro_scp_read();

  SetBit(EXTINT, SPI1_DRDY_EINT); /* clear EINT2 */
  VICVectAddr = 0x00000000; /* clear this interrupt from the VIC */
  ISR_EXIT();
}
开发者ID:CodeMining,项目名称:paparazzi,代码行数:9,代码来源:baro_scp.c


示例9: USBIntHandler

/**
	Interrupt handler
	
	Simply calls the USB ISR, then signals end of interrupt to VIC
 */
void USBIntHandler(void) 
{
    // do we really need this entry/exit stuff?
	 ISR_ENTRY(); 
	USBHwISR();
	
	VICVectAddr = 0x00;    // dummy write to VIC to signal end of ISR
	ISR_EXIT();
}
开发者ID:psas,项目名称:node-usb,代码行数:14,代码来源:isoc_ep.c


示例10: EXTINT_ISR

/******* External interrupt: Data input available ***********/
void EXTINT_ISR(void) {
    ISR_ENTRY();

    max3100_data_available = true;

    SetBit(EXTINT, MAX3100_IRQ_EINT);   /* clear extint */
    VICVectAddr = 0x00000000; /* clear this interrupt from the VIC */

    ISR_EXIT();
}
开发者ID:AntoineBlais,项目名称:paparazzi,代码行数:11,代码来源:max3100_hw.c


示例11: i2c1_ISR

void i2c1_ISR(void) {
  ISR_ENTRY();

  uint32_t state = I2C1STAT;
  I2cAutomaton(state,&i2c1);
  I2cClearIT(i2c1.reg_addr);

  VICVectAddr = 0x00000000;             // clear this interrupt from the VIC
  ISR_EXIT();                           // recover registers and return
}
开发者ID:1bitsquared,项目名称:paparazzi,代码行数:10,代码来源:i2c_arch.c


示例12: EXTINT_ISR

void EXTINT_ISR(void) {
    ISR_ENTRY();

    /* scp1000 has measured new data, now it's time to read it from spi */
    scp1000_read();

    EXTINT |= 1 << SCP_DRDY_EINT; /* clear EINT */
    VICVectAddr = 0x00000000; /* clear this interrupt from the VIC */
    ISR_EXIT();
}
开发者ID:jayceelock,项目名称:imu_autopilot,代码行数:10,代码来源:scp1000.c


示例13: USBIntHandler

/**
   Interrupt handler
        
   Simply calls the USB ISR, then signals end of interrupt to VIC
*/
void USBIntHandler(void) 
{
    ISR_ENTRY(); 
    //DBG("Z");
    USBHwISR();
    //DBG("z");
    VICVectAddr = 0x00;    // dummy write to VIC to signal end of ISR
    //DBG("Exit int\n");
    ISR_EXIT();
}
开发者ID:psas,项目名称:node-usb,代码行数:15,代码来源:multiEp.c


示例14: EXTINT0_ISR

void EXTINT0_ISR(void) {
  ISR_ENTRY();
  //ASSERT((max1168_status == MAX1168_SENDING_REQ),	DEBUG_MAX_1168, MAX1168_ERR_SPURIOUS_EOC);

  max1168_status = MAX1168_GOT_EOC;

  //SetBit(EXTINT, MAX1168_EOC_EINT);   /* clear extint0 */
  EXTINT = (1<<MAX1168_EOC_EINT);
  VICVectAddr = 0x00000000;             /* clear this interrupt from the VIC */

  ISR_EXIT();
}
开发者ID:CheBuzz,项目名称:paparazzi,代码行数:12,代码来源:max1168_arch.c


示例15: i2c1_ISR

void i2c1_ISR(void)
{
    ISR_ENTRY();

    uint32_t state = I2C1_STATUS_REG;

    i2c1_automaton(state);
    I2c1ClearIT();

    VICVectAddr = 0x00000000;             // clear this interrupt from the VIC
    ISR_EXIT();                           // recover registers and return
}
开发者ID:sch17,项目名称:wasp,代码行数:12,代码来源:i2c_hw.c


示例16: EXTINT_ISR

void EXTINT_ISR(void) {
  ISR_ENTRY();
//LED_TOGGLE(3);

  /* no, we won't do anything asynchronously, so just notify */
  micromag_status = MM_GOT_EOC;
  /* clear EINT */
  SetBit(EXTINT,MM_DRDY_EINT);
//  EXTINT = (1<<MM_DRDY_EINT);
  VICVectAddr = 0x00000000;    /* clear this interrupt from the VIC */
  ISR_EXIT();
}
开发者ID:0lri,项目名称:paparazzi,代码行数:12,代码来源:mag_micromag_fw_hw.c


示例17: ADC0_ISR

void ADC0_ISR ( void ) {
  ISR_ENTRY();
  uint32_t tmp = AD0GDR;
  uint16_t tmp2 = (uint16_t)(tmp >> 6) & 0x03FF;
  BatteryISRHandler(tmp2);
  /* trigger next convertion */
  T0MR1 += BOOZ2_ANALOG_BATTERY_PERIOD;
  /* lower clock         */
  T0EMR &= ~TEMR_EM1;
  VICVectAddr = 0x00000000;                 // clear this interrupt from the VIC
  ISR_EXIT();                               // recover registers and return
}
开发者ID:0lri,项目名称:paparazzi,代码行数:12,代码来源:booz2_analog_hw.c


示例18: __attribute__

__attribute__((naked)) void isr_exti4_15(void)
{
    ISR_ENTER();
    if (EXTI->PR & EXTI_PR_PR4) {
        EXTI->PR |= EXTI_PR_PR4;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_4].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR5) {
        EXTI->PR |= EXTI_PR_PR5;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_5].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR6) {
        EXTI->PR |= EXTI_PR_PR6;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_6].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR7) {
        EXTI->PR |= EXTI_PR_PR7;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_7].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR8) {
        EXTI->PR |= EXTI_PR_PR8;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_8].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR9) {
        EXTI->PR |= EXTI_PR_PR9;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_9].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR10) {
        EXTI->PR |= EXTI_PR_PR10;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_10].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR11) {
        EXTI->PR |= EXTI_PR_PR11;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_11].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR12) {
        EXTI->PR |= EXTI_PR_PR12;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_12].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR13) {
        EXTI->PR |= EXTI_PR_PR13;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_13].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR14) {
        EXTI->PR |= EXTI_PR_PR14;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_14].cb();
    }
    else if (EXTI->PR & EXTI_PR_PR15) {
        EXTI->PR |= EXTI_PR_PR15;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_15].cb();
    }
    ISR_EXIT();
}
开发者ID:AntonisVafeas,项目名称:RIOT,代码行数:53,代码来源:gpio.c


示例19: __attribute__

__attribute__((naked)) void isr_exti4(void)
{
    ISR_ENTER();
    if (EXTI->PR & EXTI_PR_PR4) {
        EXTI->PR |= EXTI_PR_PR4;        /* clear status bit by writing a 1 to it */
        config[GPIO_IRQ_4].cb(config[GPIO_IRQ_4].arg);
    }

    if (sched_context_switch_request) {
        thread_yield();
    }
    ISR_EXIT();
}
开发者ID:locicontrols,项目名称:RIOT,代码行数:13,代码来源:gpio.c


示例20: __attribute__

__attribute__((naked)) void RTT_ISR(void)
{
    ISR_ENTER();

    if (RTT_DEV->CRL & RTC_CRL_ALRF) {
        RTT_DEV->CRL &= ~(RTC_CRL_ALRF);
        alarm_cb(alarm_arg);
    }
    if (sched_context_switch_request) {
        thread_yield();
    }
    ISR_EXIT();
}
开发者ID:ShaneLan,项目名称:RIOT,代码行数:13,代码来源:rtt.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ ISSET函数代码示例发布时间:2022-05-30
下一篇:
C++ ISP_DBG函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap