Доработал модуль TIM (с точки зрения документции. Код не проверен)
Доработна документация в целом - добавелн main page - исправлены ошибки в шапках и коментах - добавлен граф инклюдов
This commit is contained in:
@@ -1,11 +1,19 @@
|
||||
/**
|
||||
**************************************************************************
|
||||
* @file general_gpio.h
|
||||
* @brief Заголовочный файл для модуля инициализации портов.
|
||||
* @brief Заголовочный файл для модуля инициализации портов и работы с ними.
|
||||
**************************************************************************
|
||||
* @defgroup MY_LIBS_GPIO GPIO Tools
|
||||
* @ingroup MYLIBS_PERIPHERAL
|
||||
* @brief Функции и макросы для удобной работы с GPIO.
|
||||
* @details
|
||||
Модуль предоставляет универсальные инструменты для работы с GPIO):
|
||||
- @ref MYLIBS_GPIO_GENERAL — инициализация и общие функции работы с портами.
|
||||
- @ref MYLIBS_GPIO_SWITCH — работа с GPIO как с кнопкой: чтение состояния,
|
||||
фильтрация дребезга, настройка активного уровня.
|
||||
- @ref MYLIBS_GPIO_LEDS — работа с GPIO как со светодиодом: включение,
|
||||
выключение, моргание и плавное затухание.
|
||||
|
||||
*************************************************************************/
|
||||
#ifndef __GPIO_GENERAL_H_
|
||||
#define __GPIO_GENERAL_H_
|
||||
@@ -14,7 +22,7 @@
|
||||
|
||||
/**
|
||||
* @addtogroup GPIO_INIT Init defines
|
||||
* @ingroup GPIO_GENERAL
|
||||
* @ingroup MYLIBS_GPIO_GENERAL
|
||||
* @brief Настройка состояний кнопок и количества тиков в периоде ШИМ
|
||||
* @{
|
||||
*/
|
||||
@@ -44,7 +52,7 @@
|
||||
|
||||
// /**
|
||||
// * @brief Маппинг альтернативной функции SPI между GPIO
|
||||
// * @ingroup GPIO_GENERAL
|
||||
// * @ingroup MYLIBS_GPIO_GENERAL
|
||||
// */
|
||||
// #define SPI_Alternate_Mapping(INSTANCE) \
|
||||
// ((((INSTANCE) == TIM1) || ((INSTANCE) == TIM2))? GPIO_AF1_TIM1: \
|
||||
@@ -56,9 +64,9 @@
|
||||
|
||||
/**
|
||||
* @brief Маппинг альтернативной функции TIM между GPIO
|
||||
* @ingroup GPIO_GENERAL
|
||||
* @ingroup MYLIBS_GPIO_GENERAL
|
||||
*/
|
||||
#define TIM_Alternate_Mapping(INSTANCE) \
|
||||
#define GPIO_TIM_Alternate_Mapping(INSTANCE) \
|
||||
((((INSTANCE) == TIM1) || ((INSTANCE) == TIM2))? GPIO_AF1_TIM1: \
|
||||
(((INSTANCE) == TIM3) || ((INSTANCE) == TIM4) || ((INSTANCE) == TIM5))? GPIO_AF2_TIM3: \
|
||||
(((INSTANCE) == TIM8) || ((INSTANCE) == TIM9) || ((INSTANCE) == TIM10) || ((INSTANCE) == TIM11))? GPIO_AF3_TIM8: \
|
||||
@@ -68,7 +76,7 @@
|
||||
|
||||
/**
|
||||
* @brief Режимы работы светодиода
|
||||
* @ingroup GPIO_LEDS
|
||||
* @ingroup MYLIBS_GPIO_LEDS
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
@@ -80,7 +88,7 @@ typedef enum
|
||||
|
||||
/**
|
||||
* @brief Структура светодиода
|
||||
* @ingroup GPIO_LEDS
|
||||
* @ingroup MYLIBS_GPIO_LEDS
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
@@ -92,12 +100,12 @@ typedef struct
|
||||
uint8_t LED_ActiveLvl; ///< Активный уровень ножки (при котором светодиод горит)
|
||||
uint32_t LED_Period; ///< Период моргания светодиода
|
||||
|
||||
uint32_t tickprev;///< Период моргания светодиода
|
||||
uint32_t tickprev;
|
||||
}GPIO_LEDTypeDef;
|
||||
|
||||
/**
|
||||
* @brief Структура кнопки
|
||||
* @ingroup GPIO_SWITCH
|
||||
* @ingroup MYLIBS_GPIO_SWITCH
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
@@ -108,14 +116,14 @@ typedef struct
|
||||
uint32_t Sw_PrevState; ///< Предыдущее состояние кнопки
|
||||
uint32_t Sw_FilterDelay; ///< Фильтр от дребезга (в мс)
|
||||
|
||||
uint32_t tickprev;///< Период моргания светодиода
|
||||
uint32_t tickprev;
|
||||
}GPIO_SwitchTypeDef;
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////---FUNCTIONS---///////////////////////////
|
||||
/**
|
||||
* @addtogroup GPIO_GENERAL General tools
|
||||
* @addtogroup MYLIBS_GPIO_GENERAL General tools
|
||||
* @ingroup MY_LIBS_GPIO
|
||||
* @brief Общие функции/макросы для работы с GPIO
|
||||
* @{
|
||||
@@ -123,12 +131,12 @@ typedef struct
|
||||
|
||||
HAL_StatusTypeDef GPIO_Clock_Enable(GPIO_TypeDef *GPIOx);
|
||||
|
||||
/** GPIO_GENERAL
|
||||
/** MYLIBS_GPIO_GENERAL
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup GPIO_SWITCH Switch tools
|
||||
* @addtogroup MYLIBS_GPIO_SWITCH Switch tools
|
||||
* @ingroup MY_LIBS_GPIO
|
||||
* @brief Функции для работы с GPIO, как с кнопкой
|
||||
* @{
|
||||
@@ -137,15 +145,15 @@ HAL_StatusTypeDef GPIO_Clock_Enable(GPIO_TypeDef *GPIOx);
|
||||
/* Инициализировать кнопку (структуру кнопки) */
|
||||
HAL_StatusTypeDef GPIO_Switch_Init(GPIO_SwitchTypeDef *sw, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t SW_On_State);
|
||||
/* Считать состоянии кнопки запуска */
|
||||
uint8_t GPIO_Read_Switch(GPIO_SwitchTypeDef *swstart);
|
||||
int GPIO_Read_Switch(GPIO_SwitchTypeDef *swstart);
|
||||
|
||||
/** GPIO_SWITCH
|
||||
/** MYLIBS_GPIO_SWITCH
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @addtogroup GPIO_LEDS LED tools
|
||||
* @addtogroup MYLIBS_GPIO_LEDS LED tools
|
||||
* @ingroup MY_LIBS_GPIO
|
||||
* @brief Функции для работы с GPIO, для управления светодиодом
|
||||
* @{
|
||||
@@ -154,19 +162,19 @@ uint8_t GPIO_Read_Switch(GPIO_SwitchTypeDef *swstart);
|
||||
/* Инициализировать светодиод (структуру светодиода) */
|
||||
HAL_StatusTypeDef GPIO_LED_Init(GPIO_LEDTypeDef *led, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t LED_On_State);
|
||||
/* Включить светодиод */
|
||||
HAL_StatusTypeDef GPIO_LED_On(GPIO_LEDTypeDef *led);
|
||||
HAL_StatusTypeDef GPIO_LED_On (GPIO_LEDTypeDef *led);
|
||||
/* Выключить светодиод */
|
||||
HAL_StatusTypeDef GPIO_LED_Off(GPIO_LEDTypeDef *led);
|
||||
HAL_StatusTypeDef GPIO_LED_Off (GPIO_LEDTypeDef *led);
|
||||
/* Выставить светодиод по переменной */
|
||||
HAL_StatusTypeDef GPIO_LED_Set(GPIO_LEDTypeDef *led, uint8_t led_state);
|
||||
HAL_StatusTypeDef GPIO_LED_Set (GPIO_LEDTypeDef *led, uint8_t led_state);
|
||||
/* Активировать моргание светодиодом */
|
||||
HAL_StatusTypeDef GPIO_LED_Blink_Start(GPIO_LEDTypeDef *led, uint32_t period);
|
||||
HAL_StatusTypeDef GPIO_LED_Blink_Start (GPIO_LEDTypeDef *led, uint32_t period);
|
||||
/* Активировать моргание светодиодом */
|
||||
HAL_StatusTypeDef GPIO_LED_Fading_Start(GPIO_LEDTypeDef *led, uint32_t period);
|
||||
/* Управление динамическими режимами свечения светодиода */
|
||||
void GPIO_LED_Dynamic_Handle(GPIO_LEDTypeDef *led);
|
||||
|
||||
/** GPIO_LEDS
|
||||
/** MYLIBS_GPIO_LEDS
|
||||
* @}
|
||||
*/
|
||||
///////////////////////////---FUNCTIONS---///////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user