2017-01-20 1 views

답변

3

예, 해당 채널 구성 레지스터에 HTIE 비트를 설정하면됩니다 (예 :

DMA1_Channel2->CCR |= DMA_CCR_HTIE; 

채널 2의 전송을 시작하기 전에. 우선 순위를 설정하고 인터럽트를 활성화하는 것을 잊지 마십시오.

인터럽트 처리기에서 실제로 Half Transfer Interrupt인지 확인하고 플래그를 지운 다음 필요한 처리를 수행합니다.

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