Files
Colibri/drv/tick.cpp
Dana Markova 748830dfb7 add firmware
2025-07-28 12:43:33 +03:00

36 lines
800 B
C++

#include "stm32g4xx.h"
#include "tick.h"
static unsigned long Tick = 0;
extern "C" void SysTick_Handler()
{
Tick++;
}
//------------------------------------------------------------------------------
void TICK_Init()
{
SysTick->LOAD = SystemCoreClock / 1000;
SysTick->VAL = 0UL;
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk;
NVIC_SetPriority(SysTick_IRQn, 0);
}
//------------------------------------------------------------------------------
unsigned long TICK_GetCount() // ms
{
return Tick;
}
//------------------------------------------------------------------------------
void Tick_Delay(unsigned long ms)
{
const unsigned long start = Tick;
while ((Tick - start) < ms) {
__NOP();
}
}