본문 바로가기

[ST_MICRO]/STM32F1

SysTick 인터럽트 사용 하기

SysTick 인터럽트 사용 하기
Cortex-M3코어 내부에 SYSTICK 타이머가 NVIC에 직접되어 있으며 우선순위도 높고 다른칩간에 호환성에도 유리하다. 24비트 타이머 이고 클럭소스는 칩마다 조금씩 다르다고 한다.

STM32의 SysTick 타이머는 ST에서 제공하는 API로 간단히 몇개 함수를 이용해 초기화 가능하다.

void SysTimerInit(void)
{
 //SysTick end of count event each 1ms with input clock equal to 9MHz (HCLK/8, default)
 //SysTick_SetReload(9000);    //1ms
 SysTick_SetReload(36);  //4us
  
 NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 0, 0);
 
 //Enable SysTick interrupt
 SysTick_ITConfig(ENABLE); 

 //Enable the SysTick Counter
 SysTick_CounterCmd(SysTick_Counter_Enable);
}


//SyTick 타이머 인터럽트 핸들러
void SysTickHandler(void)
{
      Led1Toggle(); 
}




STM32F100 (24MHZ)에서 1ms 는?
    SysTick_SetReload(1000);    //1ms
로 설정하면 된다.


반응형