/** * \brief Handler for capture function interrupt. * */ void capture_handler(void) { uint8_t uc_i; pio_capture_disable_interrupt(PIOA, (PIO_PCIDR_ENDRX | PIO_PCIDR_RXBUFF)); puts("End of receive.\r\n"); for (uc_i = 0; uc_i < SIZE_BUFF_RECEPT; uc_i++) { printf("0x%X ", pio_rx_buffer[uc_i]); } puts("\r\n"); g_uc_cbk_received = 1; }
/** * \brief Handler for capture function interrupt. * */ static void capture_handler(Pio *p_pio) { uint8_t uc_i; uint32_t dummy_data; pio_capture_disable_interrupt(p_pio, (PIO_PCIDR_ENDRX | PIO_PCIDR_RXBUFF)); /* Disable PDC transfer. */ pdc_disable_transfer(p_pdc, PERIPH_PTCR_RXTEN); /* Clear any unwanted data */ pio_capture_read(PIOA, &dummy_data); printf("End of receive.\r\n"); for (uc_i = 0; uc_i < SIZE_BUFF_RECEPT; uc_i++) { printf("0x%X ", pio_rx_buffer[uc_i]); } printf("\r\n"); g_uc_cbk_received = 1; }