DMA1 nie działa z USART1 w stm32f103c8?

głosy
0

Próbuję włączyć DMA1 z USART1 w stm32f103c8 ale to nie działa. Włączyłem USART pracować jako nadajnik. a następnie pozwoliło DMA1 i zrobić to konfiguracja do niej 1 włączyć zegar DMA1 z RCC. 2-wyłączył DMA1 Channel. 3-ustawić periority kanału DMA1 bardzo wysoko periority. 4, aby kierunek kanału DMA1 z pamięci zewnętrzne. 5, aby rozmiar pamięci i rozmiar obwodowych bajtu. 6 włączyć i wyłączyć przyrost pamięci przyrost obwodowe. 7 włączyć trybie obiegowym. 8 ustawione przerwanie DMA na całkowite przeniesienie. 7 ustawione bufor adresów pamięci i ustawiania adresu obwodowej jako rejestr danych usart1. 8 ustawić liczbę DMA transferze 6. 9 umożliwiają przerwanie kanału DMA1 w NVIC. 10 włączyć DMAT w usart1 aby uczynić pracę USART z DMA1 11 włączyć DMA1 do pracy Start.

Po całej tej konfiguracji DMA nie wok ale praca USART pomyślnie. w głównym kodzie robię intialize na usart1 a następnie intialize się DMA1 jak mi powiedział w górę, a następnie wysłać jeden znak do terminalu i uczynić pusty while (1). terminal tylko dostać tylko char miałem wysłać go ale nie otrzymują char w pamięci i DMA nie poszedł do obsługi DMA DMA oznacza, że ​​nie nigdy nie działa, dlaczego?

Utwórz 02/12/2019 o 23:57
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

I zostały rozwiązane mój problem, że wystąpił błąd w konfiguracji. błąd był, kiedy jestem przekazując adres rejestru danych nie jestem przechodzącej już adres, ale jestem przechodzącej wartość rejestru danych adres

Odpowiedział 08/12/2019 o 11:38
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more