本文整理汇总了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;未经允许,请勿转载。 |
请发表评论