294 lines
13 KiB
C
294 lines
13 KiB
C
|
/***********************************************************************************************************************
|
||
|
* DISCLAIMER
|
||
|
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
|
||
|
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
|
||
|
* applicable laws, including copyright laws.
|
||
|
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
|
||
|
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||
|
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
|
||
|
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
|
||
|
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
|
||
|
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||
|
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
|
||
|
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
|
||
|
* following link:
|
||
|
* http://www.renesas.com/disclaimer
|
||
|
*
|
||
|
* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved.
|
||
|
***********************************************************************************************************************/
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* File Name : r_cg_intc.c
|
||
|
* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021]
|
||
|
* Device(s) : R5F10BGG
|
||
|
* Tool-Chain : CCRL
|
||
|
* Description : This file implements device driver for INTC module.
|
||
|
* Creation Date: 2022/7/8
|
||
|
***********************************************************************************************************************/
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
Includes
|
||
|
***********************************************************************************************************************/
|
||
|
#include "r_cg_macrodriver.h"
|
||
|
#include "r_cg_intc.h"
|
||
|
/* Start user code for include. Do not edit comment generated here */
|
||
|
/* End user code. Do not edit comment generated here */
|
||
|
#include "r_cg_userdefine.h"
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
Pragma directive
|
||
|
***********************************************************************************************************************/
|
||
|
/* Start user code for pragma. Do not edit comment generated here */
|
||
|
/* End user code. Do not edit comment generated here */
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
Global variables and functions
|
||
|
***********************************************************************************************************************/
|
||
|
/* Start user code for global. Do not edit comment generated here */
|
||
|
/* End user code. Do not edit comment generated here */
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC_Create
|
||
|
* Description : This function initializes INTP module.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC_Create(void)
|
||
|
{
|
||
|
PMK0 = 1U; /* disable INTP0 operation */
|
||
|
PIF0 = 0U; /* clear INTP0 interrupt flag */
|
||
|
PMK1 = 1U; /* disable INTP1 operation */
|
||
|
PIF1 = 0U; /* clear INTP1 interrupt flag */
|
||
|
PMK2 = 1U; /* disable INTP2 operation */
|
||
|
PIF2 = 0U; /* clear INTP2 interrupt flag */
|
||
|
PMK3 = 1U; /* disable INTP3 operation */
|
||
|
PIF3 = 0U; /* clear INTP3 interrupt flag */
|
||
|
PMK4 = 1U; /* disable INTP4 operation */
|
||
|
PIF4 = 0U; /* clear INTP4 interrupt flag */
|
||
|
PMK5 = 1U; /* disable INTP5 operation */
|
||
|
PIF5 = 0U; /* clear INTP5 interrupt flag */
|
||
|
PMK6 = 1U; /* disable INTP6 operation */
|
||
|
PIF6 = 0U; /* clear INTP6 interrupt flag */
|
||
|
PMK7 = 1U; /* disable INTP7 operation */
|
||
|
PIF7 = 0U; /* clear INTP7 interrupt flag */
|
||
|
PMK8 = 1U; /* disable INTP8 operation */
|
||
|
PIF8 = 0U; /* clear INTP8 interrupt flag */
|
||
|
PMK9 = 1U; /* disable INTP9 operation */
|
||
|
PIF9 = 0U; /* clear INTP9 interrupt flag */
|
||
|
/* Set INTP0 low priority */
|
||
|
PPR10 = 1U;
|
||
|
PPR00 = 1U;
|
||
|
/* Set INTP1 low priority */
|
||
|
PPR11 = 1U;
|
||
|
PPR01 = 1U;
|
||
|
/* Set INTP2 low priority */
|
||
|
PPR12 = 1U;
|
||
|
PPR02 = 1U;
|
||
|
/* Set INTP4 low priority */
|
||
|
PPR14 = 1U;
|
||
|
PPR04 = 1U;
|
||
|
/* Set INTP6 low priority */
|
||
|
PPR16 = 1U;
|
||
|
PPR06 = 1U;
|
||
|
/* Set INTP7 low priority */
|
||
|
PPR17 = 1U;
|
||
|
PPR07 = 1U;
|
||
|
/* Set INTP8 low priority */
|
||
|
PPR18 = 1U;
|
||
|
PPR08 = 1U;
|
||
|
EGP0 = _01_INTP0_EDGE_RISING_SEL | _02_INTP1_EDGE_RISING_SEL | _04_INTP2_EDGE_RISING_SEL |
|
||
|
_10_INTP4_EDGE_RISING_SEL | _40_INTP6_EDGE_RISING_SEL | _80_INTP7_EDGE_RISING_SEL;
|
||
|
EGN1 = _01_INTP8_EDGE_FALLING_SEL;
|
||
|
INTFLG0 &= _C2_INTFLG0_MASK_VALUE;
|
||
|
INTMSK = _00_INTP4_CONTROL_ENABLE | _02_INTP5_CONTROL_DISABLE | _00_INTP6_CONTROL_ENABLE |
|
||
|
_F8_INTP_INTMSK_INIT_VALUE;
|
||
|
/* Set INTP1 pin */
|
||
|
PIM12 &= 0xDFU;
|
||
|
PMC12 &= 0xDFU;
|
||
|
PM12 |= 0x20U;
|
||
|
/* Set INTP2 pin */
|
||
|
PM3 |= 0x02U;
|
||
|
/* Set INTP4 pin */
|
||
|
PMC12 &= 0xFEU;
|
||
|
PM12 |= 0x01U;
|
||
|
/* Set INTP6 pin */
|
||
|
PIM7 &= 0xFDU;
|
||
|
PM7 |= 0x02U;
|
||
|
/* Set INTP7 pin */
|
||
|
PM3 |= 0x04U;
|
||
|
/* Set INTP8 pin */
|
||
|
PIM7 &= 0xFEU;
|
||
|
PM7 |= 0x01U;
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC0_Start
|
||
|
* Description : This function clears INTP0 interrupt flag and enables interrupt.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC0_Start(void)
|
||
|
{
|
||
|
PIF0 = 0U; /* clear INTP0 interrupt flag */
|
||
|
PMK0 = 0U; /* enable INTP0 interrupt */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC0_Stop
|
||
|
* Description : This function disables INTP0 interrupt and clears interrupt flag.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC0_Stop(void)
|
||
|
{
|
||
|
PMK0 = 1U; /* disable INTP0 interrupt */
|
||
|
PIF0 = 0U; /* clear INTP0 interrupt flag */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC1_Start
|
||
|
* Description : This function clears INTP1 interrupt flag and enables interrupt.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC1_Start(void)
|
||
|
{
|
||
|
PIF1 = 0U; /* clear INTP1 interrupt flag */
|
||
|
PMK1 = 0U; /* enable INTP1 interrupt */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC1_Stop
|
||
|
* Description : This function disables INTP1 interrupt and clears interrupt flag.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC1_Stop(void)
|
||
|
{
|
||
|
PMK1 = 1U; /* disable INTP1 interrupt */
|
||
|
PIF1 = 0U; /* clear INTP1 interrupt flag */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC2_Start
|
||
|
* Description : This function clears INTP2 interrupt flag and enables interrupt.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC2_Start(void)
|
||
|
{
|
||
|
PIF2 = 0U; /* clear INTP2 interrupt flag */
|
||
|
PMK2 = 0U; /* enable INTP2 interrupt */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC2_Stop
|
||
|
* Description : This function disables INTP2 interrupt and clears interrupt flag.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC2_Stop(void)
|
||
|
{
|
||
|
PMK2 = 1U; /* disable INTP2 interrupt */
|
||
|
PIF2 = 0U; /* clear INTP2 interrupt flag */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC4_Start
|
||
|
* Description : This function clears INTP4 interrupt flag and enables interrupt.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC4_Start(void)
|
||
|
{
|
||
|
PIF4 = 0U; /* clear INTP4 interrupt flag */
|
||
|
PMK4 = 0U; /* enable INTP4 interrupt */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC4_Stop
|
||
|
* Description : This function disables INTP4 interrupt and clears interrupt flag.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC4_Stop(void)
|
||
|
{
|
||
|
PMK4 = 1U; /* disable INTP4 interrupt */
|
||
|
PIF4 = 0U; /* clear INTP4 interrupt flag */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC6_Start
|
||
|
* Description : This function clears INTP6 interrupt flag and enables interrupt.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC6_Start(void)
|
||
|
{
|
||
|
PIF6 = 0U; /* clear INTP6 interrupt flag */
|
||
|
PMK6 = 0U; /* enable INTP6 interrupt */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC6_Stop
|
||
|
* Description : This function disables INTP6 interrupt and clears interrupt flag.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC6_Stop(void)
|
||
|
{
|
||
|
PMK6 = 1U; /* disable INTP6 interrupt */
|
||
|
PIF6 = 0U; /* clear INTP6 interrupt flag */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC7_Start
|
||
|
* Description : This function clears INTP7 interrupt flag and enables interrupt.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC7_Start(void)
|
||
|
{
|
||
|
PIF7 = 0U; /* clear INTP7 interrupt flag */
|
||
|
PMK7 = 0U; /* enable INTP7 interrupt */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC7_Stop
|
||
|
* Description : This function disables INTP7 interrupt and clears interrupt flag.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC7_Stop(void)
|
||
|
{
|
||
|
PMK7 = 1U; /* disable INTP7 interrupt */
|
||
|
PIF7 = 0U; /* clear INTP7 interrupt flag */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC8_Start
|
||
|
* Description : This function clears INTP8 interrupt flag and enables interrupt.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC8_Start(void)
|
||
|
{
|
||
|
PIF8 = 0U; /* clear INTP8 interrupt flag */
|
||
|
PMK8 = 0U; /* enable INTP8 interrupt */
|
||
|
}
|
||
|
|
||
|
/***********************************************************************************************************************
|
||
|
* Function Name: R_INTC8_Stop
|
||
|
* Description : This function disables INTP8 interrupt and clears interrupt flag.
|
||
|
* Arguments : None
|
||
|
* Return Value : None
|
||
|
***********************************************************************************************************************/
|
||
|
void R_INTC8_Stop(void)
|
||
|
{
|
||
|
PMK8 = 1U; /* disable INTP8 interrupt */
|
||
|
PIF8 = 0U; /* clear INTP8 interrupt flag */
|
||
|
}
|
||
|
|
||
|
/* Start user code for adding. Do not edit comment generated here */
|
||
|
/* End user code. Do not edit comment generated here */
|