//! [acc_irq_handler_start] void ACC_Handler(void) { //! [acc_irq_handler_start] //! [acc_irq_handler_status] uint32_t ul_status; ul_status = acc_get_interrupt_status(ACC); /** Compare Output Interrupt */ if ((ul_status & ACC_ISR_CE) == ACC_ISR_CE) { //! [acc_irq_handler_status] //! [acc_irq_handler_result_1] if (acc_get_comparison_result(ACC)) { //! [acc_irq_handler_result_1] puts("-ISR- Voltage Comparison Result: AD5 > DAC0\r"); //! [acc_irq_handler_result_2] } else { //! [acc_irq_handler_result_2] puts("-ISR- Voltage Comparison Result: AD5 < DAC0\r"); //! [acc_irq_handler_result_3] } //! [acc_irq_handler_result_3] //! [acc_irq_handler_result_end] } //! [acc_irq_handler_result_end] //! [acc_irq_handler_end] }
/** * Interrupt handler for the ACC. */ void ACC_Handler(void) { uint32_t ul_status; ul_status = acc_get_interrupt_status(ACC); /* Compare Output Interrupt */ if ((ul_status & ACC_ISR_CE) == ACC_ISR_CE) { if (acc_get_comparison_result(ACC)) { puts("-ISR- Voltage Comparison Result: AD0 > DAC0\r"); } else { puts("-ISR- Voltage Comparison Result: AD0 < DAC0\r"); } } }
/** * \brief re200b_motion_detect_handler which allow to know comparison result * (CMP_GREATER or CMP_LESS) */ void re200b_motion_detect_handler(void) { uint32_t ul_status; ul_status = acc_get_interrupt_status(ACC); /* Compare Output Interrupt */ if ((ul_status & ACC_IER_CE) == ACC_IER_CE) { g_ul_compare_event_flag = true; if (acc_get_comparison_result(ACC)) { g_compare_result = CMP_GREATER; } else { g_compare_result = CMP_LESS; } } }