Hello All. A peculiar thing just happened to me (with a new DSK 5402). What I did, was to read McBSP0 with DMA using auto-initialize. The idea is to fill a buffer, and then go on to the next one. The interrupt routine is supposed to alter the global registers, so the data gets to a different buffer each time. I'm sure I didn't invent the wheel here. At first I used channel 0. The buffer was filled, but no interrupt occured. I wrote 0x40 to IMR, and got stuck on an "IDLE 1". No interrupt. (To the best documentation I have, bit #6 is DMAC0). Just to toy a bit, I moved to DMA channel 4, wrote 0x1000 to IMR, and suddenly it all works like a clockwork. (bit #12 is DMAC4). Honestly, all I did was to change the DMA channel and IMR. And I'm positive that the only change was a shift in the subaddresses to the DMA registers. I didn't mess with that. In fact, my problem is solved. But I still wonder: Does anyone have any idea of how this magic happened? Thanks, Eli |