rt-thread-official/bsp/rx/RPDL/r_pdl_io_port_rx62nxbg.h

201 lines
5.3 KiB
C

/*""FILE COMMENT""*******************************************************
* System Name : I/O Port API for RX62N (176-pin LFBGA)
* File Name : r_pdl_io_port_RX62NxBG.h
* Version : 1.02
* Contents : I/O Port API header
* Customer :
* Model :
* Order :
* CPU : RX
* Compiler : RXC
* OS : Nothing
* Programmer :
* Note :
************************************************************************
* Copyright, 2011. Renesas Electronics Corporation
* and Renesas Solutions Corporation
************************************************************************
* History : 2011.04.08
* : Ver 1.02
* : CS-5 release.
*""FILE COMMENT END""**************************************************/
#ifndef R_PDL_IO_PORT_RX62NxBG_H
#define R_PDL_IO_PORT_RX62NxBG_H
/* Library prototypes */
bool R_IO_PORT_SetAll(
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t
);
bool R_IO_PORT_ReadControlAll(
const uint8_t,
const uint8_t,
const uint8_t,
volatile uint8_t * const
);
bool R_IO_PORT_ReadControlRegisterAll(
const uint8_t,
const uint8_t,
volatile uint8_t * const
);
bool R_IO_PORT_ModifyControlAll(
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t
);
bool R_IO_PORT_ModifyControlRegisterAll(
const uint8_t,
const uint8_t,
const uint8_t
);
bool R_IO_PORT_ReadDataAll(
const uint8_t,
const uint8_t,
volatile uint8_t * const
);
bool R_IO_PORT_ReadDataRegisterAll(
const uint8_t,
volatile uint8_t * const
);
bool R_IO_PORT_WriteAll(
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t
);
bool R_IO_PORT_WriteRegisterAll(
const uint8_t,
const uint8_t
);
bool R_IO_PORT_CompareAll(
const uint8_t,
const uint8_t,
const uint8_t,
VoidCallBackFunc const
);
bool R_IO_PORT_CompareRegisterAll(
const uint8_t,
const uint8_t,
VoidCallBackFunc const
);
bool R_IO_PORT_ModifyDataAll(
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t
);
bool R_IO_PORT_ModifyDataRegisterAll(
const uint8_t,
const uint8_t,
const uint8_t
);
bool R_IO_PORT_WaitAll(
const uint8_t,
const uint8_t,
const uint8_t
);
bool R_IO_PORT_WaitRegisterAll(
const uint8_t,
const uint8_t
);
bool ReturnFalse(void);
/* Macro definitions */
/* R_IO_PORT_Set */
/* Call the function if the port number is valid. */
#define R_IO_PORT_Set(a, b) \
( \
( ((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7) ) ? \
R_IO_PORT_SetAll( (uint8_t)((a) >> 8), (uint8_t)(a), (uint8_t)~(a), (b) ) : \
ReturnFalse() \
)
/* R_IO_PORT_ReadControl */
/* Call the function if the port number is valid. */
#define R_IO_PORT_ReadControl(a, b, c) \
( \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) ) ? \
R_IO_PORT_ReadControlAll( (uint8_t)((a) >> 8), (uint8_t)(a), (b), (c) ) : \
( ((a) >= PDL_IO_PORT_0) && ((a) <= PDL_IO_PORT_G) ) ? \
R_IO_PORT_ReadControlRegisterAll( (uint8_t)(a), (b), (c) ) : \
ReturnFalse() \
)
/* R_IO_PORT_ModifyControl */
/* Call the function if the port number is valid. */
#define R_IO_PORT_ModifyControl(a, b, c) \
( \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) ) ? \
R_IO_PORT_ModifyControlAll( (uint8_t)((a) >> 8), (uint8_t)(a), (uint8_t)~(a), (b), (c) ) : \
( ((a) >= PDL_IO_PORT_0) && ((a) <= PDL_IO_PORT_G) ) ? \
R_IO_PORT_ModifyControlRegisterAll( (uint8_t)(a), (b), (c) ) : \
ReturnFalse() \
)
/* R_IO_PORT_Read */
/* Call the function if the port number is valid. */
#define R_IO_PORT_Read(a, b) \
( \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) ) ? \
R_IO_PORT_ReadDataAll( (uint8_t)((a) >> 8), (uint8_t)(a), (b) ) : \
( ((a) >= PDL_IO_PORT_0) && ((a) <= PDL_IO_PORT_G) ) ? \
R_IO_PORT_ReadDataRegisterAll( (uint8_t)(a), (b) ) : \
ReturnFalse() \
)
/* R_IO_PORT_Write */
/* Call the function if the port number is valid. */
#define R_IO_PORT_Write(a, b) \
( \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) ) ? \
R_IO_PORT_WriteAll( (uint8_t)((a) >> 8), (uint8_t)(a), (uint8_t)~(a), (b) ) : \
( ((a) >= PDL_IO_PORT_0) && ((a) <= PDL_IO_PORT_G) ) ? \
R_IO_PORT_WriteRegisterAll( (uint8_t)(a), (b) ): \
ReturnFalse() \
)
/* R_IO_PORT_Compare */
/* Call the function if the port number is valid. */
#define R_IO_PORT_Compare(a, b, c) \
( \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) ) ? \
R_IO_PORT_CompareAll( (uint8_t)((a) >> 8), (uint8_t)(a), (b), (c) ) : \
( ((a) >= PDL_IO_PORT_0) && ((a) <= PDL_IO_PORT_G) ) ? \
R_IO_PORT_CompareRegisterAll( (uint8_t)(a), (b), (c) ): \
ReturnFalse() \
)
/* R_IO_PORT_Modify */
/* Call the function if the port number is valid. */
#define R_IO_PORT_Modify(a, b, c) \
( \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) ) ? \
R_IO_PORT_ModifyDataAll( (uint8_t)((a) >> 8), (uint8_t)(a), (uint8_t)~(a), (b), (c) ) : \
( ((a) >= PDL_IO_PORT_0) && ((a) <= PDL_IO_PORT_G) ) ? \
R_IO_PORT_ModifyDataRegisterAll( (uint8_t)(a), (b), (c) ): \
ReturnFalse() \
)
/* R_IO_PORT_Wait */
/* Call the function if the port number is valid. */
#define R_IO_PORT_Wait(a, b) \
( \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) && (b == 1u) ) ? \
R_IO_PORT_WaitAll( (uint8_t)((a) >> 8), (uint8_t)(a), (uint8_t)(a) ) : \
( (((a) >= PDL_IO_PORT_0_0) && ((a) <= PDL_IO_PORT_G_7)) && (b == 0u) ) ? \
R_IO_PORT_WaitAll( (uint8_t)((a) >> 8), (uint8_t)(a), 0 ) : \
( ((a) >= PDL_IO_PORT_0) && ((a) <= PDL_IO_PORT_G) ) ? \
R_IO_PORT_WaitRegisterAll( (uint8_t)(a), (b) ) : \
ReturnFalse() \
)
#endif
/* End of file */