motorcontroldemo_028/include/system_K1921VK028.h
2019-07-29 08:18:57 +03:00

82 lines
2.7 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*==============================================================================
* Инициализация К1921ВК028
*------------------------------------------------------------------------------
* НИИЭТ, Богдан Колбов <kolbov@niiet.ru>
*==============================================================================
* ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО
* ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ
* ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ
* НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
* ПРЕДНАЗНАЧЕНО ДЛЯ ОЗНАКОМИТЕЛЬНЫХ ЦЕЛЕЙ И НАПРАВЛЕНО ТОЛЬКО НА
* ПРЕДОСТАВЛЕНИЕ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ О ПРОДУКТЕ, С ЦЕЛЬЮ СОХРАНИТЬ ВРЕМЯ
* ПОТРЕБИТЕЛЮ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ
* ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА ПРЯМОЙ ИЛИ КОСВЕННЫЙ УЩЕРБ, ИЛИ
* ПО ИНЫМ ТРЕБОВАНИЯМ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
* ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
*
* 2018 АО "НИИЭТ"
*==============================================================================
*/
#ifndef SYSTEM_K1921VK028_H
#define SYSTEM_K1921VK028_H
#ifdef __cplusplus
extern "C" {
#endif
//-- Includes ------------------------------------------------------------------
#include <stdint.h>
//-- Defines -------------------------------------------------------------------
#ifndef CPE
#define CPE 0
#endif
#define SYSCLK_PLL
#define OSICLK_VAL 16000000
#ifndef OSECLK_VAL
#define OSECLK_VAL 12000000
#endif
#ifndef EXTCLK_VAL
#define EXTCLK_VAL 0
#endif
#define SYSCLK_SWITCH_TIMEOUT 0x100000
#if (CPE == 0)
#define REFCLK_VAL OSICLK_VAL
#define SRCCLK_VAL OSECLK_VAL
#elif (CPE == 1)
#define REFCLK_VAL OSECLK_VAL
#define SRCCLK_VAL OSICLK_VAL
#else
#error "Please define CPE with correct state!"
#endif
#define SRCCLK_STARTUP_TIMEOUT 0x100000
#ifndef TRACEEXTCLK_VAL
#define TRACEEXTCLK_VAL OSECLK_VAL
#endif
#ifndef PLLEXTCLK_VAL
#define PLLEXTCLK_VAL OSECLK_VAL
#endif
//-- Variables -----------------------------------------------------------------
extern uint32_t SystemCoreClock; // System Clock Frequency (Core Clock)
extern uint32_t APB0BusClock; // APB0 Bus Clock Frequency
extern uint32_t APB1BusClock; // APB1 Bus Clock Frequency
extern uint32_t programMemType; // Memory Region That Program Is Written To
//-- Functions -----------------------------------------------------------------
// Initialize the System
extern void SystemInit(void);
// Updates the SystemCoreClock with current core Clock retrieved from registers
extern uint16_t SystemCoreClockUpdate(void);
#ifdef __cplusplus
}
#endif
#endif // SYSTEM_K1921VK028_H