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 ?
Hangi işlemci? STM32'lerin hepsinin DMA donanımı birbirinin aynısı değil.
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
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.
DMA 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 ?
Alıntı yapılan: kimlenbu - 25 Haziran 2021, 15:03:37DMA Pause ile deneyip bakar mısın bir de ?
MErhaba denedim ama olmadı