아오.. 이거 땜에 쓰댕. 괜히 쌩쑈했는데 아주 간단히 해결함.

 

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 처리가 가능하다.

 

Posted by 켄아자씨
,