Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: robikod - 25 Haziran 2021, 11:12:59

Başlık: DMA Stop Fonksiyonu
Gönderen: robikod - 25 Haziran 2021, 11:12:59
Merhabalar,

  HAL_UART_DMAStop(&huart2); Fonksiyonu çağırıldıktan sonra, __HAL_DMA_GET_COUNTER(huart->hdmarx) değerinin bufferın verilen değerinde başlaması gerektiğini düşünüyorum ancak, bu değer "0" olarak dönüyor, yani DMA'ya aktarılacak veri yok olarak görünüyor. Sanki bütün veriler aktarılmış aktarılacak veri kalmamış, Neden bu şekilde bir değer alıyorum ?
Başlık: Ynt: DMA Stop Fonksiyonu
Gönderen: Tagli - 25 Haziran 2021, 12:14:45
Hangi işlemci? STM32'lerin hepsinin DMA donanımı birbirinin aynısı değil.
Başlık: Ynt: DMA Stop Fonksiyonu
Gönderen: robikod - 25 Haziran 2021, 13:41:47
Alıntı yapılan: Tagli - 25 Haziran 2021, 12:14:45Hangi işlemci? STM32'lerin hepsinin DMA donanımı birbirinin aynısı değil.
Pardon belirtmemişim stm32f4xx
Başlık: Ynt: DMA Stop Fonksiyonu
Gönderen: Tagli - 25 Haziran 2021, 15:01:01
HAL kullanmadım hiç, ancak DMA durdurulduğu zaman NDTR register'ında, yapılmamış transfer sayısı yazar. Her bir transfer boyutunun byte olduğunu varsayarsak, (BUFFER_SIZE - NDTR) kaç byte transfer edildiğini verir.

DMA eğer kendisi transfer limiti sebebiyle durduysa, belki NDTR 0 değil de BUFFER_SIZE olarak okunabilir. Bundan emin değilim, kontrol etmek lazım.
Başlık: Ynt: DMA Stop Fonksiyonu
Gönderen: kimlenbu - 25 Haziran 2021, 15:03:37
DMA Pause ile deneyip bakar mısın bir de ?
Başlık: Ynt: DMA Stop Fonksiyonu
Gönderen: robikod - 01 Temmuz 2021, 08:32:10
Alıntı yapılan: kimlenbu - 25 Haziran 2021, 15:03:37DMA Pause ile deneyip bakar mısın bir de ?
Alıntı yapılan: kimlenbu - 25 Haziran 2021, 15:03:37DMA Pause ile deneyip bakar mısın bir de ?

MErhaba denedim ama olmadı