URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ARM7_STR75x_GCC/] [STLibrary/] [src/] [75x_extit.c] - Rev 577
Compare with Previous | Blame | View Log
/******************** (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 EXTIT’s 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 EXTIT’s 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****/