> Hi, > > where can i find DMA code examples and more DMA documentation? The CrossWorks IDE comes with demo code for SoftBaugh board to record/playback audio stored in Flash, using 2 DMA channels - one for ADC, one for DAC. > And is it possible to use DMA for emulating 16-bit I/O registers or a 16-bit UART > (Rx/Tx irq only when two bytes are received/transmitted)? It should be AFAIK. The DMA is able to do byte-word and word-byte transfers. It's be a pain because reading/writing 2 bytes woukd then require read/.write 2 words, so dunno now. I don't think it;'s be worth your while to drag DMA in just for that. Are you able to use the normal RX/TX ISR, do a modulo-2 write (get H/L byte) so only store on every 2nd RX IRQ, and inside TX IRQ toggle as well, send H byte, next Tx IRQ send L byte, then increment word pointer ? Rgds Kris
Re: DMA code examples?
Started by ●July 23, 2005
Reply by ●July 28, 20052005-07-28
Hi, msp430@msp4... schrieb am 28.07.05 07:46:19: > > > Hi, > > > > where can i find DMA code examples and more DMA documentation? > > The CrossWorks IDE comes with demo code for SoftBaugh board to > record/playback audio stored in Flash, using 2 DMA channels - one for ADC, > one for DAC. ok, i'l check that. > > And is it possible to use DMA for emulating 16-bit I/O registers or a 16-bit UART > > (Rx/Tx irq only when two bytes are received/transmitted)? > > It should be AFAIK. > The DMA is able to do byte-word and word-byte transfers. > It's be a pain because reading/writing 2 bytes woukd then require read/.write > 2 words, so dunno now. It seems the I/O-Ports do have only an 8 bit data bus, as most peripherals; the MSB430 is not a full 16-bit MC. So there is no way do read/write 16 I/O bits with one instruction. I will switch to gray code where i can write 16 bit with one instruction even on MSP430. Regards, Rolf