123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- /*""FILE COMMENT""*******************************************************
- * System Name : I/O Port API
- * File Name : r_pdl_io_port.h
- * Version : 1.02
- * Contents : I/O Port API header
- * Customer :
- * Model :
- * Order :
- * CPU : RX
- * Compiler : RXC
- * OS :
- * 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_H
- #define R_PDL_IO_PORT_H
- #include "r_pdl_common_defs_RX62Nxx.h"
- /* Function prototypes */
- bool R_IO_PORT_Set(
- uint16_t,
- uint8_t
- );
- bool R_IO_PORT_ReadControl(
- uint16_t,
- uint8_t,
- uint8_t *
- );
- bool R_IO_PORT_ModifyControl(
- uint16_t,
- uint8_t,
- uint8_t
- );
- bool R_IO_PORT_Read(
- uint16_t,
- uint8_t *
- );
- bool R_IO_PORT_Write(
- uint16_t,
- uint8_t
- );
- bool R_IO_PORT_Compare(
- uint16_t,
- uint8_t,
- void *
- );
- bool R_IO_PORT_Modify(
- uint16_t,
- uint8_t,
- uint8_t
- );
- bool R_IO_PORT_Wait(
- uint16_t,
- uint8_t
- );
- /* I/O Ports*/
- #define PDL_IO_PORT_0 0xF000u /* Port 0 */
- #define PDL_IO_PORT_1 0xF001u /* Port 1 */
- #define PDL_IO_PORT_2 0xF002u /* Port 2 */
- #define PDL_IO_PORT_3 0xF003u /* Port 3 */
- #define PDL_IO_PORT_4 0xF004u /* Port 4 */
- #define PDL_IO_PORT_5 0xF005u /* Port 5 */
- #define PDL_IO_PORT_6 0xF006u /* Port 6 */
- #define PDL_IO_PORT_7 0xF007u /* Port 7 */
- #define PDL_IO_PORT_8 0xF008u /* Port 8 */
- #define PDL_IO_PORT_9 0xF009u /* Port 9 */
- #define PDL_IO_PORT_A 0xF00Au /* Port A */
- #define PDL_IO_PORT_B 0xF00Bu /* Port B */
- #define PDL_IO_PORT_C 0xF00Cu /* Port C */
- #define PDL_IO_PORT_D 0xF00Du /* Port D */
- #define PDL_IO_PORT_E 0xF00Eu /* Port E */
- #define PDL_IO_PORT_F 0xF00Fu /* Port F */
- #define PDL_IO_PORT_G 0xF010u /* Port G */
- /* I/O port pins */
- #define PDL_IO_PORT_0_0 0x0001u /* P00 */
- #define PDL_IO_PORT_0_1 0x0002u /* P01 */
- #define PDL_IO_PORT_0_2 0x0004u /* P02 */
- #define PDL_IO_PORT_0_3 0x0008u /* P03 */
- #define PDL_IO_PORT_0_5 0x0020u /* P05 */
- #define PDL_IO_PORT_0_7 0x0080u /* P07 */
- #define PDL_IO_PORT_1_0 0x0101u /* P10 */
- #define PDL_IO_PORT_1_1 0x0102u /* P11 */
- #define PDL_IO_PORT_1_2 0x0104u /* P12 */
- #define PDL_IO_PORT_1_3 0x0108u /* P13 */
- #define PDL_IO_PORT_1_4 0x0110u /* P14 */
- #define PDL_IO_PORT_1_5 0x0120u /* P15 */
- #define PDL_IO_PORT_1_6 0x0140u /* P16 */
- #define PDL_IO_PORT_1_7 0x0180u /* P17 */
- #define PDL_IO_PORT_2_0 0x0201u /* P20 */
- #define PDL_IO_PORT_2_1 0x0202u /* P21 */
- #define PDL_IO_PORT_2_2 0x0204u /* P22 */
- #define PDL_IO_PORT_2_3 0x0208u /* P23 */
- #define PDL_IO_PORT_2_4 0x0210u /* P24 */
- #define PDL_IO_PORT_2_5 0x0220u /* P25 */
- #define PDL_IO_PORT_2_6 0x0240u /* P26 */
- #define PDL_IO_PORT_2_7 0x0280u /* P27 */
- #define PDL_IO_PORT_3_0 0x0301u /* P30 */
- #define PDL_IO_PORT_3_1 0x0302u /* P31 */
- #define PDL_IO_PORT_3_2 0x0304u /* P32 */
- #define PDL_IO_PORT_3_3 0x0308u /* P33 */
- #define PDL_IO_PORT_3_4 0x0310u /* P34 */
- #define PDL_IO_PORT_3_5 0x0320u /* P35 */
- #define PDL_IO_PORT_4_0 0x0401u /* P40 */
- #define PDL_IO_PORT_4_1 0x0402u /* P41 */
- #define PDL_IO_PORT_4_2 0x0404u /* P42 */
- #define PDL_IO_PORT_4_3 0x0408u /* P43 */
- #define PDL_IO_PORT_4_4 0x0410u /* P44 */
- #define PDL_IO_PORT_4_5 0x0420u /* P45 */
- #define PDL_IO_PORT_4_6 0x0440u /* P46 */
- #define PDL_IO_PORT_4_7 0x0480u /* P47 */
- #define PDL_IO_PORT_5_0 0x0501u /* P50 */
- #define PDL_IO_PORT_5_1 0x0502u /* P51 */
- #define PDL_IO_PORT_5_2 0x0504u /* P52 */
- #define PDL_IO_PORT_5_3 0x0508u /* P53 */
- #define PDL_IO_PORT_5_4 0x0510u /* P54 */
- #define PDL_IO_PORT_5_5 0x0520u /* P55 */
- #define PDL_IO_PORT_5_6 0x0540u /* P56 */
- #define PDL_IO_PORT_5_7 0x0580u /* P57 */
- #define PDL_IO_PORT_6_0 0x0601u /* P60 */
- #define PDL_IO_PORT_6_1 0x0602u /* P61 */
- #define PDL_IO_PORT_6_2 0x0604u /* P62 */
- #define PDL_IO_PORT_6_3 0x0608u /* P63 */
- #define PDL_IO_PORT_6_4 0x0610u /* P64 */
- #define PDL_IO_PORT_6_5 0x0620u /* P65 */
- #define PDL_IO_PORT_6_6 0x0640u /* P66 */
- #define PDL_IO_PORT_6_7 0x0680u /* P67 */
- #define PDL_IO_PORT_7_0 0x0701u /* P70 */
- #define PDL_IO_PORT_7_1 0x0702u /* P71 */
- #define PDL_IO_PORT_7_2 0x0704u /* P72 */
- #define PDL_IO_PORT_7_3 0x0708u /* P73 */
- #define PDL_IO_PORT_7_4 0x0710u /* P74 */
- #define PDL_IO_PORT_7_5 0x0720u /* P75 */
- #define PDL_IO_PORT_7_6 0x0740u /* P76 */
- #define PDL_IO_PORT_7_7 0x0780u /* P77 */
- #define PDL_IO_PORT_8_0 0x0801u /* P80 */
- #define PDL_IO_PORT_8_1 0x0802u /* P81 */
- #define PDL_IO_PORT_8_2 0x0804u /* P82 */
- #define PDL_IO_PORT_8_3 0x0808u /* P83 */
- #define PDL_IO_PORT_8_4 0x0810u /* P84 */
- #define PDL_IO_PORT_8_5 0x0820u /* P85 */
- #define PDL_IO_PORT_9_0 0x0901u /* P90 */
- #define PDL_IO_PORT_9_1 0x0902u /* P91 */
- #define PDL_IO_PORT_9_2 0x0904u /* P92 */
- #define PDL_IO_PORT_9_3 0x0908u /* P93 */
- #define PDL_IO_PORT_9_4 0x0910u /* P94 */
- #define PDL_IO_PORT_9_5 0x0920u /* P95 */
- #define PDL_IO_PORT_9_6 0x0940u /* P96 */
- #define PDL_IO_PORT_9_7 0x0980u /* P97 */
- #define PDL_IO_PORT_A_0 0x0A01u /* PA0 */
- #define PDL_IO_PORT_A_1 0x0A02u /* PA1 */
- #define PDL_IO_PORT_A_2 0x0A04u /* PA2 */
- #define PDL_IO_PORT_A_3 0x0A08u /* PA3 */
- #define PDL_IO_PORT_A_4 0x0A10u /* PA4 */
- #define PDL_IO_PORT_A_5 0x0A20u /* PA5 */
- #define PDL_IO_PORT_A_6 0x0A40u /* PA6 */
- #define PDL_IO_PORT_A_7 0x0A80u /* PA7 */
- #define PDL_IO_PORT_B_0 0x0B01u /* PB0 */
- #define PDL_IO_PORT_B_1 0x0B02u /* PB1 */
- #define PDL_IO_PORT_B_2 0x0B04u /* PB2 */
- #define PDL_IO_PORT_B_3 0x0B08u /* PB3 */
- #define PDL_IO_PORT_B_4 0x0B10u /* PB4 */
- #define PDL_IO_PORT_B_5 0x0B20u /* PB5 */
- #define PDL_IO_PORT_B_6 0x0B40u /* PB6 */
- #define PDL_IO_PORT_B_7 0x0B80u /* PB7 */
- #define PDL_IO_PORT_C_0 0x0C01u /* PC0 */
- #define PDL_IO_PORT_C_1 0x0C02u /* PC1 */
- #define PDL_IO_PORT_C_2 0x0C04u /* PC2 */
- #define PDL_IO_PORT_C_3 0x0C08u /* PC3 */
- #define PDL_IO_PORT_C_4 0x0C10u /* PC4 */
- #define PDL_IO_PORT_C_5 0x0C20u /* PC5 */
- #define PDL_IO_PORT_C_6 0x0C40u /* PC6 */
- #define PDL_IO_PORT_C_7 0x0C80u /* PC7 */
- #define PDL_IO_PORT_D_0 0x0D01u /* PD0 */
- #define PDL_IO_PORT_D_1 0x0D02u /* PD1 */
- #define PDL_IO_PORT_D_2 0x0D04u /* PD2 */
- #define PDL_IO_PORT_D_3 0x0D08u /* PD3 */
- #define PDL_IO_PORT_D_4 0x0D10u /* PD4 */
- #define PDL_IO_PORT_D_5 0x0D20u /* PD5 */
- #define PDL_IO_PORT_D_6 0x0D40u /* PD6 */
- #define PDL_IO_PORT_D_7 0x0D80u /* PD7 */
- #define PDL_IO_PORT_E_0 0x0E01u /* PE0 */
- #define PDL_IO_PORT_E_1 0x0E02u /* PE1 */
- #define PDL_IO_PORT_E_2 0x0E04u /* PE2 */
- #define PDL_IO_PORT_E_3 0x0E08u /* PE3 */
- #define PDL_IO_PORT_E_4 0x0E10u /* PE4 */
- #define PDL_IO_PORT_E_5 0x0E20u /* PE5 */
- #define PDL_IO_PORT_E_6 0x0E40u /* PE6 */
- #define PDL_IO_PORT_E_7 0x0E80u /* PE7 */
- #define PDL_IO_PORT_F_0 0x0F01u /* PF0 */
- #define PDL_IO_PORT_F_1 0x0F02u /* PF1 */
- #define PDL_IO_PORT_F_2 0x0F04u /* PF2 */
- #define PDL_IO_PORT_F_3 0x0F08u /* PF3 */
- #define PDL_IO_PORT_F_4 0x0F10u /* PF4 */
- #define PDL_IO_PORT_G_0 0x1001u /* PG0 */
- #define PDL_IO_PORT_G_1 0x1002u /* PG1 */
- #define PDL_IO_PORT_G_2 0x1004u /* PG2 */
- #define PDL_IO_PORT_G_3 0x1008u /* PG3 */
- #define PDL_IO_PORT_G_4 0x1010u /* PG4 */
- #define PDL_IO_PORT_G_5 0x1020u /* PG5 */
- #define PDL_IO_PORT_G_6 0x1040u /* PG6 */
- #define PDL_IO_PORT_G_7 0x1080u /* PG7 */
- /* Settings */
- #define PDL_IO_PORT_INPUT 0x01u /* Input port */
- #define PDL_IO_PORT_OUTPUT 0x02u /* Output port */
- #define PDL_IO_PORT_INPUT_BUFFER_ON 0x04u /* The input buffer is enabled */
- #define PDL_IO_PORT_INPUT_BUFFER_OFF 0x08u /* The input buffer is disabled */
- #define PDL_IO_PORT_PULL_UP_ON 0x10u /* Pulled high */
- #define PDL_IO_PORT_PULL_UP_OFF 0x20u /* Not pulled high */
- #define PDL_IO_PORT_OPEN_DRAIN 0x40u /* NMOS open-drain output */
- #define PDL_IO_PORT_CMOS 0x80u /* CMOS output */
- /* Control register selection */
- #define PDL_IO_PORT_DIRECTION 0x01u
- #define PDL_IO_PORT_INPUT_BUFFER 0x02u
- #define PDL_IO_PORT_PULL_UP 0x04u
- #define PDL_IO_PORT_TYPE 0x08u
- /* Logical operations */
- #define PDL_IO_PORT_AND 0x10u
- #define PDL_IO_PORT_OR 0x20u
- #define PDL_IO_PORT_XOR 0x40u
- #endif
- /* End of file */
|