/*============================================================================== * Инициализация тактирования с использованием бибилотеки PLIB035 *------------------------------------------------------------------------------ * ЦНИИ СЭТ, Разваляев Алексей *============================================================================== * ЦНИИ СЭТ *============================================================================== */ //-- Includes ------------------------------------------------------------------ #include "periph_config.h" __IO uint32_t uwTick; // Milliseconds ticks //-- Defines ------------------------------------------------------------------- //-- Peripheral init functions ------------------------------------------------- void sysclk_init(void) { OperationStatus status; status = RCU_PLL_AutoConfig(SYSCLK_CORE_CLOCK_MHZ*__MHZ, SYSCLK_Oscil_Type); if (status == ERROR) { Error_Handler(); } SystemCoreClockUpdate(); RCU_ClkOutConfig(RCU_SysPeriphClk_PLLClk, 1, ENABLE); RCU_ClkOutCmd(ENABLE); /* Прерывание должно быть каждую миллисекунду: Для тактирования N Гц это каждый N / 1000 тик */ SysTick_Config(SYSCLK_CORE_CLOCK_MHZ*__MHZ/1000); } uint32_t millis(void) { return uwTick; } void millis_inc(void) { uwTick++; } uint32_t micros(void) { return 0; } void micros_inc(void) { uwTick++; }