EmbeddedRelated.com
Forums

Re: DMA code examples?

Started by microbit July 23, 2005
> 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


Beginning Microcontrollers with the MSP430

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