2
업데이트 할 원형 DMA가 있습니다. 중간에 완료되면 인터럽트를 얻을 수 있습니까? (전반부를 업데이트 할 수 있습니까?)DMA에서 중간에 인터럽트를 얻을 수 있습니까? STM32f0 완료
업데이트 할 원형 DMA가 있습니다. 중간에 완료되면 인터럽트를 얻을 수 있습니까? (전반부를 업데이트 할 수 있습니까?)DMA에서 중간에 인터럽트를 얻을 수 있습니까? STM32f0 완료
예, 해당 채널 구성 레지스터에 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);
}
}