본문 바로가기
MCU/STM32

HAL_TIM_PWM_Start_DMA 함수의 딜레이

by mokhwasomssi 2021. 6. 12.

HAL_TIM_PWM_Start_DMA 함수를 이용해서 pwm 신호를 하나만 보낼 때는 문제가 없다. 

문제는 2개 이상의 pwm 신호를 보낼 때 어느정도 딜레이가 생긴다는 점이다.

 

HAL_TIM_PWM_Start_DMA 함수에서 처리하는 내용이 많아서 딜레이가 생기나 싶었지만 그게 원인은 아니였다.

맨 마지막에 dma request를 주는 식으로 두 신호간의 간격을 좁힐 순 있지만 아예 없애진 못했다. 

 

다른 자료에서 신호를 재전송하기 전에 dma request를 꺼줘야한다는 말을 하길래

이유는 모르겠지만 일단  tc interrupt시에 dma request를 꺼주니 딜레이는 거의 사라졌다. 

 

이유가 뭘까? 🤔