| /******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** | |
| * File Name : 75x_extit.c | |
| * Author : MCD Application Team | |
| * Date First Issued : 03/10/2006 | |
| * Description : This file provides all the EXTIT software functions. | |
| ******************************************************************************** | |
| * History: | |
| * 07/17/2006 : V1.0 | |
| * 03/10/2006 : V0.1 | |
| ******************************************************************************** | |
| * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | |
| * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. | |
| * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, | |
| * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE | |
| * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING | |
| * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | |
| *******************************************************************************/ | |
| /* Includes ------------------------------------------------------------------*/ | |
| #include "75x_extit.h" | |
| #include "75x_mrcc.h" | |
| /* Private typedef -----------------------------------------------------------*/ | |
| /* Private define ------------------------------------------------------------*/ | |
| /* Private macro -------------------------------------------------------------*/ | |
| /* Private variables ---------------------------------------------------------*/ | |
| /* Private function prototypes -----------------------------------------------*/ | |
| /* Private functions ---------------------------------------------------------*/ | |
| /******************************************************************************* | |
| * Function Name : EXTIT_DeInit | |
| * Description : Deinitializes the EXTIT peripheral registers to their default | |
| * reset values. | |
| * Input : None | |
| * Output : None | |
| * Return : None | |
| *******************************************************************************/ | |
| void EXTIT_DeInit(void) | |
| { | |
| MRCC_PeripheralSWResetConfig(MRCC_Peripheral_EXTIT,ENABLE); | |
| MRCC_PeripheralSWResetConfig(MRCC_Peripheral_EXTIT,DISABLE); | |
| } | |
| /******************************************************************************* | |
| * Function Name : EXTIT_Init | |
| * Description : Initializes the EXTIT peripheral according to the specified | |
| * parameters in the EXTIT_InitStruct . | |
| * Input : - EXTIT_InitStruct: pointer to a EXTIT_InitTypeDef structure | |
| * that contains the configuration information for the EXTIT | |
| * peripheral. | |
| * Output : None | |
| * Return : None | |
| *******************************************************************************/ | |
| void EXTIT_Init(EXTIT_InitTypeDef* EXTIT_InitStruct) | |
| { | |
| if(EXTIT_InitStruct->EXTIT_ITLineCmd == ENABLE) | |
| { | |
| /* Enable the selected external interrupts */ | |
| EXTIT->MR |= EXTIT_InitStruct->EXTIT_ITLine; | |
| /* Select the trigger for the selected external interrupts */ | |
| if(EXTIT_InitStruct->EXTIT_ITTrigger == EXTIT_ITTrigger_Falling) | |
| { | |
| /* Falling edge */ | |
| EXTIT->TSR &= ~EXTIT_InitStruct->EXTIT_ITLine; | |
| } | |
| else if (EXTIT_InitStruct->EXTIT_ITTrigger == EXTIT_ITTrigger_Rising) | |
| { | |
| /* Rising edge */ | |
| EXTIT->TSR |= EXTIT_InitStruct->EXTIT_ITLine; | |
| } | |
| } | |
| else if(EXTIT_InitStruct->EXTIT_ITLineCmd == DISABLE) | |
| { | |
| /* Disable the selected external interrupts */ | |
| EXTIT->MR &= ~EXTIT_InitStruct->EXTIT_ITLine; | |
| } | |
| } | |
| /******************************************************************************* | |
| * Function Name : EXTIT_StructInit | |
| * Description : Fills each EXTIT_InitStruct member with its reset value. | |
| * Input : - EXTIT_InitStruct: pointer to a EXTIT_InitTypeDef structure | |
| * which will be initialized. | |
| * Output : None | |
| * Return : None | |
| *******************************************************************************/ | |
| void EXTIT_StructInit(EXTIT_InitTypeDef* EXTIT_InitStruct) | |
| { | |
| EXTIT_InitStruct->EXTIT_ITLine = EXTIT_ITLineNone; | |
| EXTIT_InitStruct->EXTIT_ITTrigger = EXTIT_ITTrigger_Falling; | |
| EXTIT_InitStruct->EXTIT_ITLineCmd = DISABLE; | |
| } | |
| /******************************************************************************* | |
| * Function Name : EXTIT_GenerateSWInterrupt | |
| * Description : Generates a Software interrupt. | |
| * Input : - EXTIT_ITLine: specifies the EXTIT lines to be enabled or | |
| * disabled. This parameter can be: | |
| * - EXTIT_ITLinex: External interrupt line x where x(0..15) | |
| * Output : None | |
| * Return : None | |
| *******************************************************************************/ | |
| void EXTIT_GenerateSWInterrupt(u16 EXTIT_ITLine) | |
| { | |
| EXTIT->SWIR |= EXTIT_ITLine; | |
| } | |
| /******************************************************************************* | |
| * Function Name : EXTIT_GetFlagStatus | |
| * Description : Checks whether the specified EXTIT line flag is set or not. | |
| * Input : - EXTIT_ITLine: specifies the EXTIT lines flag to check. | |
| * This parameter can be: | |
| * - EXTIT_ITLinex: External interrupt line x where x(0..15) | |
| * Output : None | |
| * Return : The new state of EXTIT_ITLine (SET or RESET). | |
| *******************************************************************************/ | |
| FlagStatus EXTIT_GetFlagStatus(u16 EXTIT_ITLine) | |
| { | |
| if((EXTIT->PR & EXTIT_ITLine) != RESET) | |
| { | |
| return SET; | |
| } | |
| else | |
| { | |
| return RESET; | |
| } | |
| } | |
| /******************************************************************************* | |
| * Function Name : EXTIT_ClearFlag | |
| * Description : Clears the EXTITs line pending flags. | |
| * Input : - EXTIT_ITLine: specifies the EXTIT lines flags to clear. | |
| * This parameter can be: | |
| * - EXTIT_ITLinex: External interrupt line x where x(0..15) | |
| * Output : None | |
| * Return : None | |
| *******************************************************************************/ | |
| void EXTIT_ClearFlag(u16 EXTIT_ITLine) | |
| { | |
| EXTIT->PR = EXTIT_ITLine; | |
| } | |
| /******************************************************************************* | |
| * Function Name : EXTIT_GetITStatus | |
| * Description : Checks whether the specified EXTIT line is asserted or not. | |
| * Input : - EXTIT_ITLine: specifies the EXTIT lines to check. | |
| * This parameter can be: | |
| * - EXTIT_ITLinex: External interrupt line x where x(0..15) | |
| * Output : None | |
| * Return : The new state of EXTIT_ITLine (SET or RESET). | |
| *******************************************************************************/ | |
| ITStatus EXTIT_GetITStatus(u16 EXTIT_ITLine) | |
| { | |
| if(((EXTIT->PR & EXTIT_ITLine) != RESET)&& ((EXTIT->MR & EXTIT_ITLine) != RESET)) | |
| { | |
| return SET; | |
| } | |
| else | |
| { | |
| return RESET; | |
| } | |
| } | |
| /******************************************************************************* | |
| * Function Name : EXTIT_ClearITPendingBit | |
| * Description : Clears the EXTITs line pending bits. | |
| * Input : - EXTIT_ITLine: specifies the EXTIT lines to clear. | |
| * This parameter can be: | |
| * - EXTIT_ITLinex: External interrupt line x where x(0..15) | |
| * Output : None | |
| * Return : None | |
| *******************************************************************************/ | |
| void EXTIT_ClearITPendingBit(u16 EXTIT_ITLine) | |
| { | |
| EXTIT->PR = EXTIT_ITLine; | |
| } | |
| /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/ |