Po Ting
Well-known member
Hello community,
I'm currently working on a pov project , using SD and TLC5947 as LED driver, on teensy 3.1
the TLC5947 library I'm using is from adafruit : https://github.com/adafruit/Adafruit_TLC5947
TLC5947 uses software SPI with clock, and 12bit for a single output channel, and follows by a clock signal each 12 bit data.
the speed is not fast enough, and one way I came up with, is to read the next picture during displaying
so I think I can rewrite the TLC5947 library with DMA.(another choice is the SD library, which seems to be much harder?)
But there are only few DMA examples around the web, and I'm not yet used in C code yet, can't understand them well.
I read through Paul's octows2812 library, it seems that the DMA uses three channel and controls a port at once,
I still don't know how to use DMA with a single I/O or two.
can anyone provide an example for arduino IDE
like using pin 32 (PTB18) as data, and pin 25 (PTB19) as clock? pins could be modified,
and from the examples, I would need to reserve a pin or few, to process DMA normally?
thanks
I'm currently working on a pov project , using SD and TLC5947 as LED driver, on teensy 3.1
the TLC5947 library I'm using is from adafruit : https://github.com/adafruit/Adafruit_TLC5947
TLC5947 uses software SPI with clock, and 12bit for a single output channel, and follows by a clock signal each 12 bit data.
the speed is not fast enough, and one way I came up with, is to read the next picture during displaying
so I think I can rewrite the TLC5947 library with DMA.(another choice is the SD library, which seems to be much harder?)
But there are only few DMA examples around the web, and I'm not yet used in C code yet, can't understand them well.
I read through Paul's octows2812 library, it seems that the DMA uses three channel and controls a port at once,
I still don't know how to use DMA with a single I/O or two.
can anyone provide an example for arduino IDE
like using pin 32 (PTB18) as data, and pin 25 (PTB19) as clock? pins could be modified,
and from the examples, I would need to reserve a pin or few, to process DMA normally?
thanks