2017-01-20 5 views

Antwort

3

Ja, setzen Sie einfach das HTIE-Bit in das entsprechende Channel Configuration Register, z.

DMA1_Channel2->CCR |= DMA_CCR_HTIE; 

für Kanal 2, bevor die Übertragung gestartet wird. Vergessen Sie nicht, die Priorität festzulegen und den Interrupt zu aktivieren.

Überprüfen Sie im Interrupt-Handler, ob es sich tatsächlich um einen Half-Transfer-Interrupt handelt, löschen Sie das Flag und führen Sie die erforderliche Verarbeitung aus.

void DMA1_Channel2_3_IRQHandler(void) { 
    if(DMA1->ISR & DMA_ISR_HTIF2) { 
     DMA1->IFCR = DMA_IFCR_CHTIF2; 
     memcpy(here, there, length/2); 
    } 
} 
Verwandte Themen