channel enable bit could cause data to be lost. I think you need to set the CH_SUSP bit and wait for the FIFO_EMPTY flag to go high then disable the channel. Jamie