티스토리 뷰

반응형

16. DMA IT(Direct Memory Access Interrupt)

-이번 장과 15장의 다른 점은 파일 전송후 인터럽트 발생 여부와 전송완료 플래그 값 자동 초기화이다

 

CUME MX 설정


Source Code

uint8_t Buffer_Src[]={'a','b','c','d','e','f','g','h','i','j'};

uint8_t Buffer_Dest[10];

void XferCpltCallback(DMA_HandleTypeDef *hdma); //DMA 인터럽트 함수 선언

/* USER CODE END 0 */

 

/* USER CODE BEGIN 2 */

  hdma_memtomem_dma2_stream0.XferCpltCallback=&XferCpltCallback;//Callback 함수 주소 지정

  HAL_DMA_Start_IT(&hdma_memtomem_dma2_stream0,(uint32_t)Buffer_Src,(uint32_t)Buffer_Dest,10);

  /* USER CODE END 2 */

.

 

 

 

 

 

실행 결과

16. DMA IT 폴더 동영상 참조

15장에서는 플래그를 함수를 사용해 초기화 시켜주면서 사용했지만 16장은 HAL_DMA_Start_IT()함수에 의해 데이터 복사 명령과 플래그 초기화가 이루어 진다.

DMA 인터럽트는 다른 인터럽트 callback들과 다르게

hdma_memtomem_dma2_stream0.XferCpltCallback=&XferCpltCallback; 에 직접 함수 주소 값을 넣어주어 callback 함수가 어떤건지 MCU에게 알려주고 있다.



반응형

'STM32Fxx' 카테고리의 다른 글

STM32F429 - UART DMA  (0) 2018.11.10
STM32F429-TIM DMA  (0) 2018.11.08
STM32F429 - DMA poll(Direct Memory Access)  (0) 2018.11.04
STM32F429 - WWDG(Window Watch Dog)  (0) 2018.11.04
STM32F429-IWDG(Independent Watch Dog)  (0) 2018.10.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함