AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Library Reference FAQ Alphabetical Index Example Projects

portpins.h

00001 /* Copyright (c) 2003  Theodore A. Roth
00002    All rights reserved.
00003 
00004    Redistribution and use in source and binary forms, with or without
00005    modification, are permitted provided that the following conditions are met:
00006 
00007    * Redistributions of source code must retain the above copyright
00008      notice, this list of conditions and the following disclaimer.
00009 
00010    * Redistributions in binary form must reproduce the above copyright
00011      notice, this list of conditions and the following disclaimer in
00012      the documentation and/or other materials provided with the
00013      distribution.
00014 
00015    * Neither the name of the copyright holders nor the names of
00016      contributors may be used to endorse or promote products derived
00017      from this software without specific prior written permission.
00018 
00019   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00020   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00021   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00022   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00023   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00024   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00025   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00026   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00027   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00028   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00029   POSSIBILITY OF SUCH DAMAGE. */
00030 
00031 /* $Id: portpins.h 1936 2009-03-19 22:19:26Z arcanum $ */
00032 
00033 #ifndef _AVR_PORTPINS_H_
00034 #define _AVR_PORTPINS_H_ 1
00035 
00036 /* This file should only be included from <avr/io.h>, never directly. */
00037 
00038 #ifndef _AVR_IO_H_
00039 #  error "Include <avr/io.h> instead of this file."
00040 #endif
00041 
00042 /* Define Generic PORTn, DDn, and PINn values. */
00043 
00044 /* Port Data Register (generic) */
00045 #define    PORT7        7
00046 #define    PORT6        6
00047 #define    PORT5        5
00048 #define    PORT4        4
00049 #define    PORT3        3
00050 #define    PORT2        2
00051 #define    PORT1        1
00052 #define    PORT0        0
00053 
00054 /* Port Data Direction Register (generic) */
00055 #define    DD7          7
00056 #define    DD6          6
00057 #define    DD5          5
00058 #define    DD4          4
00059 #define    DD3          3
00060 #define    DD2          2
00061 #define    DD1          1
00062 #define    DD0          0
00063 
00064 /* Port Input Pins (generic) */
00065 #define    PIN7         7
00066 #define    PIN6         6
00067 #define    PIN5         5
00068 #define    PIN4         4
00069 #define    PIN3         3
00070 #define    PIN2         2
00071 #define    PIN1         1
00072 #define    PIN0         0
00073 
00074 /* Define PORTxn an Pxn values for all possible port pins if not defined already by io.h. */
00075 
00076 /* PORT A */
00077 
00078 #if defined(PA0) && !defined(PORTA0)
00079 #  define PORTA0 PA0
00080 #elif defined(PORTA0) && !defined(PA0)
00081 #  define PA0 PORTA0
00082 #endif
00083 #if defined(PA1) && !defined(PORTA1)
00084 #  define PORTA1 PA1
00085 #elif defined(PORTA1) && !defined(PA1)
00086 #  define PA1 PORTA1
00087 #endif
00088 #if defined(PA2) && !defined(PORTA2)
00089 #  define PORTA2 PA2
00090 #elif defined(PORTA2) && !defined(PA2)
00091 #  define PA2 PORTA2
00092 #endif
00093 #if defined(PA3) && !defined(PORTA3)
00094 #  define PORTA3 PA3
00095 #elif defined(PORTA3) && !defined(PA3)
00096 #  define PA3 PORTA3
00097 #endif
00098 #if defined(PA4) && !defined(PORTA4)
00099 #  define PORTA4 PA4
00100 #elif defined(PORTA4) && !defined(PA4)
00101 #  define PA4 PORTA4
00102 #endif
00103 #if defined(PA5) && !defined(PORTA5)
00104 #  define PORTA5 PA5
00105 #elif defined(PORTA5) && !defined(PA5)
00106 #  define PA5 PORTA5
00107 #endif
00108 #if defined(PA6) && !defined(PORTA6)
00109 #  define PORTA6 PA6
00110 #elif defined(PORTA6) && !defined(PA6)
00111 #  define PA6 PORTA6
00112 #endif
00113 #if defined(PA7) && !defined(PORTA7)
00114 #  define PORTA7 PA7
00115 #elif defined(PORTA7) && !defined(PA7)
00116 #  define PA7 PORTA7
00117 #endif
00118 
00119 /* PORT B */
00120 
00121 #if defined(PB0) && !defined(PORTB0)
00122 #  define PORTB0 PB0
00123 #elif defined(PORTB0) && !defined(PB0)
00124 #  define PB0 PORTB0
00125 #endif
00126 #if defined(PB1) && !defined(PORTB1)
00127 #  define PORTB1 PB1
00128 #elif defined(PORTB1) && !defined(PB1)
00129 #  define PB1 PORTB1
00130 #endif
00131 #if defined(PB2) && !defined(PORTB2)
00132 #  define PORTB2 PB2
00133 #elif defined(PORTB2) && !defined(PB2)
00134 #  define PB2 PORTB2
00135 #endif
00136 #if defined(PB3) && !defined(PORTB3)
00137 #  define PORTB3 PB3
00138 #elif defined(PORTB3) && !defined(PB3)
00139 #  define PB3 PORTB3
00140 #endif
00141 #if defined(PB4) && !defined(PORTB4)
00142 #  define PORTB4 PB4
00143 #elif defined(PORTB4) && !defined(PB4)
00144 #  define PB4 PORTB4
00145 #endif
00146 #if defined(PB5) && !defined(PORTB5)
00147 #  define PORTB5 PB5
00148 #elif defined(PORTB5) && !defined(PB5)
00149 #  define PB5 PORTB5
00150 #endif
00151 #if defined(PB6) && !defined(PORTB6)
00152 #  define PORTB6 PB6
00153 #elif defined(PORTB6) && !defined(PB6)
00154 #  define PB6 PORTB6
00155 #endif
00156 #if defined(PB7) && !defined(PORTB7)
00157 #  define PORTB7 PB7
00158 #elif defined(PORTB7) && !defined(PB7)
00159 #  define PB7 PORTB7
00160 #endif
00161 
00162 /* PORT C */
00163 
00164 #if defined(PC0) && !defined(PORTC0)
00165 #  define PORTC0 PC0
00166 #elif defined(PORTC0) && !defined(PC0)
00167 #  define PC0 PORTC0
00168 #endif
00169 #if defined(PC1) && !defined(PORTC1)
00170 #  define PORTC1 PC1
00171 #elif defined(PORTC1) && !defined(PC1)
00172 #  define PC1 PORTC1
00173 #endif
00174 #if defined(PC2) && !defined(PORTC2)
00175 #  define PORTC2 PC2
00176 #elif defined(PORTC2) && !defined(PC2)
00177 #  define PC2 PORTC2
00178 #endif
00179 #if defined(PC3) && !defined(PORTC3)
00180 #  define PORTC3 PC3
00181 #elif defined(PORTC3) && !defined(PC3)
00182 #  define PC3 PORTC3
00183 #endif
00184 #if defined(PC4) && !defined(PORTC4)
00185 #  define PORTC4 PC4
00186 #elif defined(PORTC4) && !defined(PC4)
00187 #  define PC4 PORTC4
00188 #endif
00189 #if defined(PC5) && !defined(PORTC5)
00190 #  define PORTC5 PC5
00191 #elif defined(PORTC5) && !defined(PC5)
00192 #  define PC5 PORTC5
00193 #endif
00194 #if defined(PC6) && !defined(PORTC6)
00195 #  define PORTC6 PC6
00196 #elif defined(PORTC6) && !defined(PC6)
00197 #  define PC6 PORTC6
00198 #endif
00199 #if defined(PC7) && !defined(PORTC7)
00200 #  define PORTC7 PC7
00201 #elif defined(PORTC7) && !defined(PC7)
00202 #  define PC7 PORTC7
00203 #endif
00204 
00205 /* PORT D */
00206 
00207 #if defined(PD0) && !defined(PORTD0)
00208 #  define PORTD0 PD0
00209 #elif defined(PORTD0) && !defined(PD0)
00210 #  define PD0 PORTD0
00211 #endif
00212 #if defined(PD1) && !defined(PORTD1)
00213 #  define PORTD1 PD1
00214 #elif defined(PORTD1) && !defined(PD1)
00215 #  define PD1 PORTD1
00216 #endif
00217 #if defined(PD2) && !defined(PORTD2)
00218 #  define PORTD2 PD2
00219 #elif defined(PORTD2) && !defined(PD2)
00220 #  define PD2 PORTD2
00221 #endif
00222 #if defined(PD3) && !defined(PORTD3)
00223 #  define PORTD3 PD3
00224 #elif defined(PORTD3) && !defined(PD3)
00225 #  define PD3 PORTD3
00226 #endif
00227 #if defined(PD4) && !defined(PORTD4)
00228 #  define PORTD4 PD4
00229 #elif defined(PORTD4) && !defined(PD4)
00230 #  define PD4 PORTD4
00231 #endif
00232 #if defined(PD5) && !defined(PORTD5)
00233 #  define PORTD5 PD5
00234 #elif defined(PORTD5) && !defined(PD5)
00235 #  define PD5 PORTD5
00236 #endif
00237 #if defined(PD6) && !defined(PORTD6)
00238 #  define PORTD6 PD6
00239 #elif defined(PORTD6) && !defined(PD6)
00240 #  define PD6 PORTD6
00241 #endif
00242 #if defined(PD7) && !defined(PORTD7)
00243 #  define PORTD7 PD7
00244 #elif defined(PORTD7) && !defined(PD7)
00245 #  define PD7 PORTD7
00246 #endif
00247 
00248 /* PORT E */
00249 
00250 #if defined(PE0) && !defined(PORTE0)
00251 #  define PORTE0 PE0
00252 #elif defined(PORTE0) && !defined(PE0)
00253 #  define PE0 PORTE0
00254 #endif
00255 #if defined(PE1) && !defined(PORTE1)
00256 #  define PORTE1 PE1
00257 #elif defined(PORTE1) && !defined(PE1)
00258 #  define PE1 PORTE1
00259 #endif
00260 #if defined(PE2) && !defined(PORTE2)
00261 #  define PORTE2 PE2
00262 #elif defined(PORTE2) && !defined(PE2)
00263 #  define PE2 PORTE2
00264 #endif
00265 #if defined(PE3) && !defined(PORTE3)
00266 #  define PORTE3 PE3
00267 #elif defined(PORTE3) && !defined(PE3)
00268 #  define PE3 PORTE3
00269 #endif
00270 #if defined(PE4) && !defined(PORTE4)
00271 #  define PORTE4 PE4
00272 #elif defined(PORTE4) && !defined(PE4)
00273 #  define PE4 PORTE4
00274 #endif
00275 #if defined(PE5) && !defined(PORTE5)
00276 #  define PORTE5 PE5
00277 #elif defined(PORTE5) && !defined(PE5)
00278 #  define PE5 PORTE5
00279 #endif
00280 #if defined(PE6) && !defined(PORTE6)
00281 #  define PORTE6 PE6
00282 #elif defined(PORTE6) && !defined(PE6)
00283 #  define PE6 PORTE6
00284 #endif
00285 #if defined(PE7) && !defined(PORTE7)
00286 #  define PORTE7 PE7
00287 #elif defined(PORTE7) && !defined(PE7)
00288 #  define PE7 PORTE7
00289 #endif
00290 
00291 /* PORT F */
00292 
00293 #if defined(PF0) && !defined(PORTF0)
00294 #  define PORTF0 PF0
00295 #elif defined(PORTF0) && !defined(PF0)
00296 #  define PF0 PORTF0
00297 #endif
00298 #if defined(PF1) && !defined(PORTF1)
00299 #  define PORTF1 PF1
00300 #elif defined(PORTF1) && !defined(PF1)
00301 #  define PF1 PORTF1
00302 #endif
00303 #if defined(PF2) && !defined(PORTF2)
00304 #  define PORTF2 PF2
00305 #elif defined(PORTF2) && !defined(PF2)
00306 #  define PF2 PORTF2
00307 #endif
00308 #if defined(PF3) && !defined(PORTF3)
00309 #  define PORTF3 PF3
00310 #elif defined(PORTF3) && !defined(PF3)
00311 #  define PF3 PORTF3
00312 #endif
00313 #if defined(PF4) && !defined(PORTF4)
00314 #  define PORTF4 PF4
00315 #elif defined(PORTF4) && !defined(PF4)
00316 #  define PF4 PORTF4
00317 #endif
00318 #if defined(PF5) && !defined(PORTF5)
00319 #  define PORTF5 PF5
00320 #elif defined(PORTF5) && !defined(PF5)
00321 #  define PF5 PORTF5
00322 #endif
00323 #if defined(PF6) && !defined(PORTF6)
00324 #  define PORTF6 PF6
00325 #elif defined(PORTF6) && !defined(PF6)
00326 #  define PF6 PORTF6
00327 #endif
00328 #if defined(PF7) && !defined(PORTF7)
00329 #  define PORTF7 PF7
00330 #elif defined(PORTF7) && !defined(PF7)
00331 #  define PF7 PORTF7
00332 #endif
00333 
00334 /* PORT G */
00335 
00336 #if defined(PG0) && !defined(PORTG0)
00337 #  define PORTG0 PG0
00338 #elif defined(PORTG0) && !defined(PG0)
00339 #  define PG0 PORTG0
00340 #endif
00341 #if defined(PG1) && !defined(PORTG1)
00342 #  define PORTG1 PG1
00343 #elif defined(PORTG1) && !defined(PG1)
00344 #  define PG1 PORTG1
00345 #endif
00346 #if defined(PG2) && !defined(PORTG2)
00347 #  define PORTG2 PG2
00348 #elif defined(PORTG2) && !defined(PG2)
00349 #  define PG2 PORTG2
00350 #endif
00351 #if defined(PG3) && !defined(PORTG3)
00352 #  define PORTG3 PG3
00353 #elif defined(PORTG3) && !defined(PG3)
00354 #  define PG3 PORTG3
00355 #endif
00356 #if defined(PG4) && !defined(PORTG4)
00357 #  define PORTG4 PG4
00358 #elif defined(PORTG4) && !defined(PG4)
00359 #  define PG4 PORTG4
00360 #endif
00361 #if defined(PG5) && !defined(PORTG5)
00362 #  define PORTG5 PG5
00363 #elif defined(PORTG5) && !defined(PG5)
00364 #  define PG5 PORTG5
00365 #endif
00366 #if defined(PG6) && !defined(PORTG6)
00367 #  define PORTG6 PG6
00368 #elif defined(PORTG6) && !defined(PG6)
00369 #  define PG6 PORTG6
00370 #endif
00371 #if defined(PG7) && !defined(PORTG7)
00372 #  define PORTG7 PG7
00373 #elif defined(PORTG7) && !defined(PG7)
00374 #  define PG7 PORTG7
00375 #endif
00376 
00377 /* PORT H */
00378 
00379 #if defined(PH0) && !defined(PORTH0)
00380 #  define PORTH0 PH0
00381 #elif defined(PORTH0) && !defined(PH0)
00382 #  define PH0 PORTH0
00383 #endif
00384 #if defined(PH1) && !defined(PORTH1)
00385 #  define PORTH1 PH1
00386 #elif defined(PORTH1) && !defined(PH1)
00387 #  define PH1 PORTH1
00388 #endif
00389 #if defined(PH2) && !defined(PORTH2)
00390 #  define PORTH2 PH2
00391 #elif defined(PORTH2) && !defined(PH2)
00392 #  define PH2 PORTH2
00393 #endif
00394 #if defined(PH3) && !defined(PORTH3)
00395 #  define PORTH3 PH3
00396 #elif defined(PORTH3) && !defined(PH3)
00397 #  define PH3 PORTH3
00398 #endif
00399 #if defined(PH4) && !defined(PORTH4)
00400 #  define PORTH4 PH4
00401 #elif defined(PORTH4) && !defined(PH4)
00402 #  define PH4 PORTH4
00403 #endif
00404 #if defined(PH5) && !defined(PORTH5)
00405 #  define PORTH5 PH5
00406 #elif defined(PORTH5) && !defined(PH5)
00407 #  define PH5 PORTH5
00408 #endif
00409 #if defined(PH6) && !defined(PORTH6)
00410 #  define PORTH6 PH6
00411 #elif defined(PORTH6) && !defined(PH6)
00412 #  define PH6 PORTH6
00413 #endif
00414 #if defined(PH7) && !defined(PORTH7)
00415 #  define PORTH7 PH7
00416 #elif defined(PORTH7) && !defined(PH7)
00417 #  define PH7 PORTH7
00418 #endif
00419 
00420 /* PORT J */
00421 
00422 #if defined(PJ0) && !defined(PORTJ0)
00423 #  define PORTJ0 PJ0
00424 #elif defined(PORTJ0) && !defined(PJ0)
00425 #  define PJ0 PORTJ0
00426 #endif
00427 #if defined(PJ1) && !defined(PORTJ1)
00428 #  define PORTJ1 PJ1
00429 #elif defined(PORTJ1) && !defined(PJ1)
00430 #  define PJ1 PORTJ1
00431 #endif
00432 #if defined(PJ2) && !defined(PORTJ2)
00433 #  define PORTJ2 PJ2
00434 #elif defined(PORTJ2) && !defined(PJ2)
00435 #  define PJ2 PORTJ2
00436 #endif
00437 #if defined(PJ3) && !defined(PORTJ3)
00438 #  define PORTJ3 PJ3
00439 #elif defined(PORTJ3) && !defined(PJ3)
00440 #  define PJ3 PORTJ3
00441 #endif
00442 #if defined(PJ4) && !defined(PORTJ4)
00443 #  define PORTJ4 PJ4
00444 #elif defined(PORTJ4) && !defined(PJ4)
00445 #  define PJ4 PORTJ4
00446 #endif
00447 #if defined(PJ5) && !defined(PORTJ5)
00448 #  define PORTJ5 PJ5
00449 #elif defined(PORTJ5) && !defined(PJ5)
00450 #  define PJ5 PORTJ5
00451 #endif
00452 #if defined(PJ6) && !defined(PORTJ6)
00453 #  define PORTJ6 PJ6
00454 #elif defined(PORTJ6) && !defined(PJ6)
00455 #  define PJ6 PORTJ6
00456 #endif
00457 #if defined(PJ7) && !defined(PORTJ7)
00458 #  define PORTJ7 PJ7
00459 #elif defined(PORTJ7) && !defined(PJ7)
00460 #  define PJ7 PORTJ7
00461 #endif
00462 
00463 /* PORT K */
00464 
00465 #if defined(PK0) && !defined(PORTK0)
00466 #  define PORTK0 PK0
00467 #elif defined(PORTK0) && !defined(PK0)
00468 #  define PK0 PORTK0
00469 #endif
00470 #if defined(PK1) && !defined(PORTK1)
00471 #  define PORTK1 PK1
00472 #elif defined(PORTK1) && !defined(PK1)
00473 #  define PK1 PORTK1
00474 #endif
00475 #if defined(PK2) && !defined(PORTK2)
00476 #  define PORTK2 PK2
00477 #elif defined(PORTK2) && !defined(PK2)
00478 #  define PK2 PORTK2
00479 #endif
00480 #if defined(PK3) && !defined(PORTK3)
00481 #  define PORTK3 PK3
00482 #elif defined(PORTK3) && !defined(PK3)
00483 #  define PK3 PORTK3
00484 #endif
00485 #if defined(PK4) && !defined(PORTK4)
00486 #  define PORTK4 PK4
00487 #elif defined(PORTK4) && !defined(PK4)
00488 #  define PK4 PORTK4
00489 #endif
00490 #if defined(PK5) && !defined(PORTK5)
00491 #  define PORTK5 PK5
00492 #elif defined(PORTK5) && !defined(PK5)
00493 #  define PK5 PORTK5
00494 #endif
00495 #if defined(PK6) && !defined(PORTK6)
00496 #  define PORTK6 PK6
00497 #elif defined(PORTK6) && !defined(PK6)
00498 #  define PK6 PORTK6
00499 #endif
00500 #if defined(PK7) && !defined(PORTK7)
00501 #  define PORTK7 PK7
00502 #elif defined(PORTK7) && !defined(PK7)
00503 #  define PK7 PORTK7
00504 #endif
00505 
00506 /* PORT L */
00507 
00508 #if defined(PL0) && !defined(PORTL0)
00509 #  define PORTL0 PL0
00510 #elif defined(PORTL0) && !defined(PL0)
00511 #  define PL0 PORTL0
00512 #endif
00513 #if defined(PL1) && !defined(PORTL1)
00514 #  define PORTL1 PL1
00515 #elif defined(PORTL1) && !defined(PL1)
00516 #  define PL1 PORTL1
00517 #endif
00518 #if defined(PL2) && !defined(PORTL2)
00519 #  define PORTL2 PL2
00520 #elif defined(PORTL2) && !defined(PL2)
00521 #  define PL2 PORTL2
00522 #endif
00523 #if defined(PL3) && !defined(PORTL3)
00524 #  define PORTL3 PL3
00525 #elif defined(PORTL3) && !defined(PL3)
00526 #  define PL3 PORTL3
00527 #endif
00528 #if defined(PL4) && !defined(PORTL4)
00529 #  define PORTL4 PL4
00530 #elif defined(PORTL4) && !defined(PL4)
00531 #  define PL4 PORTL4
00532 #endif
00533 #if defined(PL5) && !defined(PORTL5)
00534 #  define PORTL5 PL5
00535 #elif defined(PORTL5) && !defined(PL5)
00536 #  define PL5 PORTL5
00537 #endif
00538 #if defined(PL6) && !defined(PORTL6)
00539 #  define PORTL6 PL6
00540 #elif defined(PORTL6) && !defined(PL6)
00541 #  define PL6 PORTL6
00542 #endif
00543 #if defined(PL7) && !defined(PORTL7)
00544 #  define PORTL7 PL7
00545 #elif defined(PORTL7) && !defined(PL7)
00546 #  define PL7 PORTL7
00547 #endif
00548 
00549 #endif /* _AVR_PORTPINS_H_ */

Automatically generated by Doxygen 1.6.1 on 15 Jul 2010.