Проект перенесен в папку MDK-ARM
This commit is contained in:
145
MDK-ARM/platform/plib035/inc/plib035.h
Normal file
145
MDK-ARM/platform/plib035/inc/plib035.h
Normal file
@@ -0,0 +1,145 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file plib035.h
|
||||
*
|
||||
* @brief Низкоуровневая библиотека периферии для микроконтроллера НИИЭТ К1921ВК035
|
||||
* Этот файл содержит:
|
||||
* - Главный заголовочный файл целевого устройства, с описанием всех регистров его периферии
|
||||
* - Область настройки драйвера
|
||||
* - Макросы для доступа к регистрам периферии
|
||||
*
|
||||
* @author НИИЭТ, Богдан Колбов <kolbov@niiet.ru>
|
||||
*
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО
|
||||
* ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ
|
||||
* ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ
|
||||
* НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
|
||||
* ПРЕДНАЗНАЧЕНО ДЛЯ ОЗНАКОМИТЕЛЬНЫХ ЦЕЛЕЙ И НАПРАВЛЕНО ТОЛЬКО НА
|
||||
* ПРЕДОСТАВЛЕНИЕ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ О ПРОДУКТЕ, С ЦЕЛЬЮ СОХРАНИТЬ ВРЕМЯ
|
||||
* ПОТРЕБИТЕЛЮ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ
|
||||
* ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА ПРЯМОЙ ИЛИ КОСВЕННЫЙ УЩЕРБ, ИЛИ
|
||||
* ПО ИНЫМ ТРЕБОВАНИЯМ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
* ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
|
||||
*
|
||||
* <h2><center>© 2018 ОАО "НИИЭТ"</center></h2>
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/** @addtogroup PLib035 Библиотека периферии
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef __PLIB035_H
|
||||
#define __PLIB035_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "K1921VK035.h"
|
||||
|
||||
/** @addtogroup Exported_macro Макросы
|
||||
* @{
|
||||
*/
|
||||
|
||||
#if defined(__ICCARM__)
|
||||
#define __RAMFUNC __ramfunc
|
||||
#elif defined(__CMCARM__)
|
||||
#define __RAMFUNC __ramfunc
|
||||
#elif defined(__CC_ARM)
|
||||
#define __RAMFUNC
|
||||
#elif defined(__GNUC__)
|
||||
#define __RAMFUNC __attribute__((long_call, section(".ramfunc")))
|
||||
#else
|
||||
#error "plib035.h: RAMFUNC - нет реализации под данный компилятор!"
|
||||
#endif
|
||||
|
||||
#define SET_BIT(REG, BIT) ((REG) |= (BIT))
|
||||
|
||||
#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
|
||||
|
||||
#define READ_BIT(REG, BIT) (((REG) & (BIT)) ? (0x1) : (0x0))
|
||||
|
||||
#define CLEAR_REG(REG) ((REG) = (0x0))
|
||||
|
||||
#define WRITE_REG(REG, VAL) ((REG) = (VAL))
|
||||
|
||||
#define READ_REG(REG) ((REG))
|
||||
|
||||
#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @addtogroup Exported_Types Типы
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Описывает логическое состояние периферии.
|
||||
* Используется для операций включения/выключения периферийных блоков или их функций.
|
||||
*/
|
||||
typedef enum {
|
||||
DISABLE = 0UL,
|
||||
ENABLE = 1UL
|
||||
} FunctionalState;
|
||||
#define IS_FUNCTIONAL_STATE(VALUE) (((VALUE) == DISABLE) || ((VALUE) == ENABLE))
|
||||
|
||||
/**
|
||||
* @brief Описывает коды возврата при выполнении какой-либо операции
|
||||
*/
|
||||
typedef enum {
|
||||
OK = 0UL,
|
||||
ERROR = 1UL
|
||||
} OperationStatus;
|
||||
|
||||
/**
|
||||
* @brief Описывает возможные состояния флага или бита
|
||||
*/
|
||||
typedef enum {
|
||||
CLEAR = 0UL,
|
||||
SET = 1UL
|
||||
} FlagStatus,
|
||||
BitState;
|
||||
#define IS_BIT_STATE(VALUE) (((VALUE) == CLEAR) || ((VALUE) == SET))
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @defgroup Misc Дополнительные модули
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "plib035_assert.h"
|
||||
#include "plib035_version.h"
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @addtogroup Peripheral Периферия
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "plib035_conf.h"
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __PLIB035_H */
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/******************* (C) COPYRIGHT 2018 NIIET *****END OF FILE****/
|
||||
Reference in New Issue
Block a user