아오.. 이거 땜에 쓰댕. 괜히 쌩쑈했는데 아주 간단히 해결함.
1. SystemClock_Config()함수 overriding
:
:
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000000);
2. HAL_IncTick() 함수 overriding
__IO uint32_t usTick=0;
extern __IO uint32_t uwTick;
void HAL_IncTick(void)
{
usTick++;
if (usTick==1000)
{
uwTick++;
usTick=0;
}
}
요렇게 해주면 HAL_Delay 등의 함수들이 틀어지지 않고 정상 동작하고, 1microsecond 단위의 tick 처리가 가능하다.