1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
|
/*""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 */
|