DMA1 werkt niet met USART1 in stm32f103c8?

stemmen
0

Ik wil graag DMA1 met USART1 in stm32f103c8 mogelijk te maken, maar het werkt niet. Ik kon de usart te werk als zender. en dan kon de DMA1 en maak deze configuratie om het 1-stellen de DMA1 klok van RCC. 2-onbruikbaar DMA1 Channel. 3-set het DMA1 kanaal periority zeer hoog periority. 4-maken richting DMA1 kanaal uit het geheugen naar randapparaat. 5 maken het geheugen en perifere grootte als byte. 6- kunnen geheugenschijven increment en uitschakelen perifere verhoging. 7 inschakelen circulaire modus. 8-set de DMA interrupt voor de overdracht voltooid. 7-set het geheugenadres buffer en stel het perifere adres usart1 dataregister. 8-set het aantal keren dat DMA-overdracht als 6. 9 Schakel de DMA1 kanaal onderbreking in het NVIC. 10 Schakel de Dmat in de usart1 de usart werk met de DMA1 maken 11 inschakelen van de DMA1 om Start werk.

na al die configuratie de DMA niet wok maar de usart werk met succes. de belangrijkste code i maken intialize de usart1 en intialize het DMA1 zoals me genoemd en verzend een teken naar aansluitpunt en zorg lege while (1). de terminal alleen maar alleen de char had ik stuur het maar niet ontvangen van de char in het geheugen en de DMA niet naar de handler van de DMA dat dan dat de DMA niet nooit werken waarom?

De vraag is gesteld op 02/12/2019 om 23:57
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

Ik heb mijn probleem opgelost was het een fout in de configuratie. de fout was toen ben ik het adres van de gegevens doorgeven registreren ik ben niet het adres al voorbij, maar ik ben het passeren van de waarde van de gegevens te registreren adres

antwoordde op 08/12/2019 om 11:38
bron van user

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