61 lines
1.2 KiB
C
61 lines
1.2 KiB
C
#include "fc7xxx_driver_systick.h"
|
|
|
|
|
|
|
|
/**
|
|
* \brief Config system tick
|
|
*
|
|
* \param u32ReloadVal reload value, val is decrease from reload value
|
|
* \return 0 is ok, and others are not ok
|
|
*/
|
|
uint8_t Core_SysTick_Config(uint32_t u32ReloadVal)
|
|
{
|
|
uint8_t u8Retval;
|
|
|
|
if (u32ReloadVal > SysTick_LOAD_RELOAD_Msk)
|
|
{
|
|
u8Retval = 1U;
|
|
}
|
|
else
|
|
{
|
|
SysTick->LOAD = u32ReloadVal; /* set reload register */
|
|
SysTick->VAL = 0UL; /* Load the SysTick Counter Value */
|
|
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk; /* Processor clock */
|
|
u8Retval = 0U;
|
|
}
|
|
|
|
return u8Retval;
|
|
}
|
|
|
|
void Core_SysTick_DeConfig(void)
|
|
{
|
|
SysTick->CTRL = 0U;
|
|
SysTick->LOAD = 0U;
|
|
SysTick->VAL = 0U;
|
|
}
|
|
|
|
void Core_SysTick_ClearValue(void)
|
|
{
|
|
SysTick->VAL = 0U;
|
|
}
|
|
|
|
void Core_SysTick_SetValue(uint32_t u32Value)
|
|
{
|
|
SysTick->VAL = u32Value;
|
|
}
|
|
|
|
uint32_t Core_SysTick_GetValue(void)
|
|
{
|
|
return SysTick->VAL;
|
|
}
|
|
|
|
void Core_SysTick_Enable(void)
|
|
{
|
|
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
|
|
}
|
|
|
|
void Core_SysTick_Disable(void)
|
|
{
|
|
SysTick->CTRL &= ~(SysTick_CTRL_ENABLE_Msk);
|
|
}
|