DMA1 nepracuje s USART1 v stm32f103c8?

hlasů
0

Snažím umožnit DMA1 s USART1 v stm32f103c8, ale to nefunguje. i umožnila USART pracovat jako vysílač. a poté umožnila DMA1 a aby tato konfigurace k němu 1 povolit DMA1 hodiny z RCC. 2-vyřadil DMA1 kanál. 3-nastavit DMA1 kanálu periority jako velmi vysoké periority. 4, aby směr DMA1 kanálu z paměti do periferní. 5, aby velikost paměti a periferní velikost jako byte. 6-Aktivace paměti přírůstek a zakázat periferní přírůstek. 7-aktivovat režim kruhové. 8-nastavit DMA přerušení pro přenos dokončen. 7-nastavení adres paměti do vyrovnávací paměti a nastavit periferní adresu jako usart1 datový registr. 8 nastavit počet, kolikrát se DMA převodu v 6. 9 povolit přerušení DMA1 kanálu v NVIC. 10 povolit DMAT v usart1 aby USART práci s DMA1 11 povolit DMA1 začít pracovat.

Po celou tuto konfiguraci DMA nezbavuje wok, ale USART úspěšně pracovat. V hlavním kódu i dělat intialize na usart1 a pak intialize na DMA1 jak mi řekl, a pak poslat jeden znak terminál a provést prázdné while (1). terminál jen získat pouze char jsem musel poslat, ale ne přijímat char do paměti a DMA nešel do psovoda DMA, které znamenají, že DMA nefunguje nikdy proč?

Položena 02/12/2019 v 23:57
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Byl jsem vyřešil můj problém, že došlo k chybě v konfiguraci. chyba byla když jsem procházející adresu datového registru nejsem předávání adresu už ale já jsem absolvování hodnota datového registru adresy

Odpovězeno 08/12/2019 v 11:38
zdroj uživatelem

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