DMA1 non funziona con USART1 in stm32f103c8?

voti
0

Sto cercando di consentire DMA1 con USART1 in stm32f103c8 ma non funziona. Ho attivato l'USART al lavoro come trasmettitore. e poi permesso al DMA1 e rendere questa configurazione ad esso 1-abilitare l'orologio DMA1 da RCC. 2-disabilitato il canale DMA1. 3-impostare il canale periority DMA1 come molto alto periority. 4-rendere la direzione del canale DMA1 dalla memoria periferico. 5-rendere la dimensione di memoria e la dimensione periferico byte. 6-consentono incremento memoria e incremento periferico disattivare. 7-abilitare il modo circolare. 8-impostare l'interrupt DMA per trasferimento completo. 7-impostare il buffer di indirizzo di memoria e impostare l'indirizzo periferico registrano dati USART1. 8-impostare il numero di volte per dma trasferimento come 6. 9-abilitare l'interrupt canale DMA1 nel NVIC. 10-attivare la DMAT nella USART1 per far funzionare USART con il DMA1 11-abilitare la DMA1 per iniziare a lavorare.

dopo tutto questa configurazione il DMA non si wok ma il lavoro USART successo. nel codice principale faccio inizializzare l'USART1 e poi inizializzare il DMA1 come me detto e quindi inviare un carattere al terminale e fare a vuoto (1). il terminale solo ottenere solo il carattere ho avuto inviarlo, ma non riceve il carattere in memoria e il DMA non è andato al gestore del DMA che significa che il DMA non funziona mai perché?

È pubblicato 02/12/2019 alle 23:57
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

mi è stato risolto il mio problema è stato un errore nella configurazione. l'errore è stato quando sto passando l'indirizzo dei dati registrati non sto passando l'indirizzo già ma sto passando il valore dei dati registrati indirizzo

Risposto il 08/12/2019 a 11:38
fonte dall'utente

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