Subversion Repositories dashGPS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /**
  2.   ******************************************************************************
  3.   * @file    stm32f1xx_hal_gpio_ex.c
  4.   * @author  MCD Application Team
  5.   * @brief   GPIO Extension HAL module driver.
  6.   *         This file provides firmware functions to manage the following
  7.   *          functionalities of the General Purpose Input/Output (GPIO) extension peripheral.
  8.   *           + Extended features functions
  9.   *
  10.   @verbatim
  11.   ==============================================================================
  12.                     ##### GPIO Peripheral extension features #####
  13.   ==============================================================================
  14.   [..] GPIO module on STM32F1 family, manage also the AFIO register:
  15.        (+) Possibility to use the EVENTOUT Cortex feature
  16.  
  17.                      ##### How to use this driver #####
  18.   ==============================================================================
  19.   [..] This driver provides functions to use EVENTOUT Cortex feature
  20.     (#) Configure EVENTOUT Cortex feature using the function HAL_GPIOEx_ConfigEventout()
  21.     (#) Activate EVENTOUT Cortex feature using the HAL_GPIOEx_EnableEventout()
  22.     (#) Deactivate EVENTOUT Cortex feature using the HAL_GPIOEx_DisableEventout()
  23.  
  24.   @endverbatim
  25.   ******************************************************************************
  26.   * @attention
  27.   *
  28.   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
  29.   * All rights reserved.</center></h2>
  30.   *
  31.   * This software component is licensed by ST under BSD 3-Clause license,
  32.   * the "License"; You may not use this file except in compliance with the
  33.   * License. You may obtain a copy of the License at:
  34.   *                        opensource.org/licenses/BSD-3-Clause
  35.   *
  36.   ******************************************************************************
  37.   */
  38.  
  39. /* Includes ------------------------------------------------------------------*/
  40. #include "stm32f1xx_hal.h"
  41.  
  42. /** @addtogroup STM32F1xx_HAL_Driver
  43.   * @{
  44.   */
  45.  
  46. /** @defgroup GPIOEx GPIOEx
  47.   * @brief GPIO HAL module driver
  48.   * @{
  49.   */
  50.  
  51. #ifdef HAL_GPIO_MODULE_ENABLED
  52.  
  53. /** @defgroup GPIOEx_Exported_Functions GPIOEx Exported Functions
  54.   * @{
  55.   */
  56.  
  57. /** @defgroup GPIOEx_Exported_Functions_Group1 Extended features functions
  58.  *  @brief    Extended features functions
  59.  *
  60. @verbatim
  61.   ==============================================================================
  62.                  ##### Extended features functions #####
  63.   ==============================================================================
  64.     [..]  This section provides functions allowing to:
  65.     (+) Configure EVENTOUT Cortex feature using the function HAL_GPIOEx_ConfigEventout()
  66.     (+) Activate EVENTOUT Cortex feature using the HAL_GPIOEx_EnableEventout()
  67.     (+) Deactivate EVENTOUT Cortex feature using the HAL_GPIOEx_DisableEventout()
  68.  
  69. @endverbatim
  70.   * @{
  71.   */
  72.  
  73. /**
  74.   * @brief  Configures the port and pin on which the EVENTOUT Cortex signal will be connected.
  75.   * @param  GPIO_PortSource Select the port used to output the Cortex EVENTOUT signal.
  76.   *   This parameter can be a value of @ref GPIOEx_EVENTOUT_PORT.
  77.   * @param  GPIO_PinSource Select the pin used to output the Cortex EVENTOUT signal.
  78.   *   This parameter can be a value of @ref GPIOEx_EVENTOUT_PIN.
  79.   * @retval None
  80.   */
  81. void HAL_GPIOEx_ConfigEventout(uint32_t GPIO_PortSource, uint32_t GPIO_PinSource)
  82. {
  83.   /* Verify the parameters */
  84.   assert_param(IS_AFIO_EVENTOUT_PORT(GPIO_PortSource));
  85.   assert_param(IS_AFIO_EVENTOUT_PIN(GPIO_PinSource));
  86.  
  87.   /* Apply the new configuration */
  88.   MODIFY_REG(AFIO->EVCR, (AFIO_EVCR_PORT) | (AFIO_EVCR_PIN), (GPIO_PortSource) | (GPIO_PinSource));
  89. }
  90.  
  91. /**
  92.   * @brief  Enables the Event Output.
  93.   * @retval None
  94.   */
  95. void HAL_GPIOEx_EnableEventout(void)
  96. {
  97.   SET_BIT(AFIO->EVCR, AFIO_EVCR_EVOE);
  98. }
  99.  
  100. /**
  101.   * @brief  Disables the Event Output.
  102.   * @retval None
  103.   */
  104. void HAL_GPIOEx_DisableEventout(void)
  105. {
  106.   CLEAR_BIT(AFIO->EVCR, AFIO_EVCR_EVOE);
  107. }
  108.  
  109. /**
  110.   * @}
  111.   */
  112.  
  113. /**
  114.   * @}
  115.   */
  116.  
  117. #endif /* HAL_GPIO_MODULE_ENABLED */
  118.  
  119. /**
  120.   * @}
  121.   */
  122.  
  123. /**
  124.   * @}
  125.   */
  126.  
  127. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
  128.