stm32f4 dma double buffer sorunu

Başlatan Gökhan BEKEN, 17 Mart 2015, 10:09:43

Gökhan BEKEN

DMA kurup, half interrupt ile işimi görecektim ne güzel ancak, buffer boyutu maksimum 0xFFFF byte yani 65535 olarak tanımlanabiliyormuş.
Daha fazla buffer'a ihtiyacım olduğu için stm32'nin double buffer özelliğini kullanmak istiyorum, ancak kesmeye girdiğinde iki bufferi birden dolduruyor.

DMA initinden sonra, şu fonksiyonları çağırıyorum:

DMA_DoubleBufferModeConfig(DMA2_Stream6,&buffer2[0],DMA_Memory_0);
DMA_DoubleBufferModeCmd(DMA2_Stream6, ENABLE);

Kesme içerisine girdiğinde, buffer1, sonraki girdiğinde buffer2, sonraki girdiğinde buffer1...
şeklinde sırasıyla doldurması için ne yapabilirim?
Not: DMA'yı buffer değiştirerek tekrar init etmeyi de düşündüm fakat veriler çok hızlı geldiğinden, veri kaçıracağımı düşündüğüm için kullanmak istemedim.

Özel mesaj okumuyorum, lütfen göndermeyin.

justice_for_all

DMA_SxCR->CT bitini değiştirerek geçiş yapabilirsiniz.

Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Gökhan BEKEN

Teşekkürler, debug kaynaklı bir sorunmuş benimki.
Özel mesaj okumuyorum, lütfen göndermeyin.