Witam,
Próbuje zrealizować odbieranie danych przez UART z wykorzystaniem DMA. Ma to funkcjonować tak, że w funkcji "UART_Receive_DMA(uint8_t *Buffer, int Length)" podaje jako argumenty:
- bufor do którego mają trafiać dane (tablica)
- ilość oczekiwanych bajtow
Po odebraniu tej paczki danych w przerwaniu od końca transmisji DMA dalej będę realizować sprawdzanie odebranych danych itp...
Moja funkcja odbierająca dane przez UART z wykorzystaniem DMA działa dobrze tylko wtedy, gdy wysłana zostanie taka sama ilość danych jaka została podana w funkcji "UART_Receive_DMA()", gdy wyślę większą ilość danych okazuje się, że już kolejne wywołanie tej funkcji nic nie daje i żadne dane już nie trafiają do bufora odbiorczego, gdy testuje program debuggerem to wygląda wszystko dobrze w konfiguracji DMA, ale żadne dane nie przychodzą. Co robię źle w mojej funkcji "UART_Receive_DMA()" lub w konfiguracji UART?
Próbuje zrealizować odbieranie danych przez UART z wykorzystaniem DMA. Ma to funkcjonować tak, że w funkcji "UART_Receive_DMA(uint8_t *Buffer, int Length)" podaje jako argumenty:
- bufor do którego mają trafiać dane (tablica)
- ilość oczekiwanych bajtow
Po odebraniu tej paczki danych w przerwaniu od końca transmisji DMA dalej będę realizować sprawdzanie odebranych danych itp...
Moja funkcja odbierająca dane przez UART z wykorzystaniem DMA działa dobrze tylko wtedy, gdy wysłana zostanie taka sama ilość danych jaka została podana w funkcji "UART_Receive_DMA()", gdy wyślę większą ilość danych okazuje się, że już kolejne wywołanie tej funkcji nic nie daje i żadne dane już nie trafiają do bufora odbiorczego, gdy testuje program debuggerem to wygląda wszystko dobrze w konfiguracji DMA, ale żadne dane nie przychodzą. Co robię źle w mojej funkcji "UART_Receive_DMA()" lub w konfiguracji UART?
Kod: C / C++
Kod: C / C++