Using DMA interrupts to handle all data transfer