00001 /**********************************************************************************************************************\ 00002 00003 C++ library for Atmel AVR microcontrollers 00004 Copyright (C) 2007 Lauri Kirikal, Mikk Leini, Rasmus Raag, MTU TTU Robotiklubi 00005 00006 This program is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU General Public License 00008 as published by the Free Software Foundation; either version 2 00009 of the License, or (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 00020 See http://creativecommons.org/licenses/GPL/2.0/ 00021 00022 MTU TTU Robotiklubi http://www.robotiklubi.ee robotiklubi@gmail.com 00023 Lauri Kirikal laurikirikal@gmail.com 00024 Mikk Leini mikk.leini@gmail.com 00025 00026 \**********************************************************************************************************************/ 00027 00028 #ifndef __AVR_CPP_ATMEGA164P_IO_H__ 00029 #define __AVR_CPP_ATMEGA164P_IO_H__ 00030 00031 #if defined(__DOXYGEN__) && !defined(__AVR_CPP_IO_H__) 00032 #include <avr/cpp/IO.h> 00033 #endif 00034 00035 #ifndef __AVR_CPP_IO_H__ 00036 #error "Include <avr/cpp/IO.h> instead of <avr/cpp/atmega164p/IO.h>." 00037 #else 00038 00039 00040 /**********************************************************************************************************************\ 00041 00042 atmega164 registers, bits and ports declarations. 00043 This file is generated. Do not modify manually. 00044 00045 \**********************************************************************************************************************/ 00046 00047 // Registers 00048 namespace AVRCpp 00049 { 00050 __DECLARE_8BIT_REGISTER__(UDR1); 00051 __DECLARE_8BIT_REGISTER__(UBRR1H); 00052 __DECLARE_8BIT_REGISTER__(UBRR1L); 00053 __DECLARE_8BIT_REGISTER__(UCSR1C); 00054 __DECLARE_8BIT_REGISTER__(UCSR1B); 00055 __DECLARE_8BIT_REGISTER__(UCSR1A); 00056 __DECLARE_8BIT_REGISTER__(UDR0); 00057 __DECLARE_8BIT_REGISTER__(UBRR0H); 00058 __DECLARE_8BIT_REGISTER__(UBRR0L); 00059 __DECLARE_8BIT_REGISTER__(UCSR0C); 00060 __DECLARE_8BIT_REGISTER__(UCSR0B); 00061 __DECLARE_8BIT_REGISTER__(UCSR0A); 00062 __DECLARE_8BIT_REGISTER__(TWAMR); 00063 __DECLARE_8BIT_REGISTER__(TWCR); 00064 __DECLARE_8BIT_REGISTER__(TWDR); 00065 __DECLARE_8BIT_REGISTER__(TWAR); 00066 __DECLARE_8BIT_REGISTER__(TWSR); 00067 __DECLARE_8BIT_REGISTER__(TWBR); 00068 __DECLARE_8BIT_REGISTER__(ASSR); 00069 __DECLARE_8BIT_REGISTER__(OCR2B); 00070 __DECLARE_8BIT_REGISTER__(OCR2A); 00071 __DECLARE_8BIT_REGISTER__(TCNT2); 00072 __DECLARE_8BIT_REGISTER__(TCCR2B); 00073 __DECLARE_8BIT_REGISTER__(TCCR2A); 00074 __DECLARE_8BIT_REGISTER__(OCR1BH); 00075 __DECLARE_8BIT_REGISTER__(OCR1BL); 00076 __DECLARE_8BIT_REGISTER__(OCR1AH); 00077 __DECLARE_8BIT_REGISTER__(OCR1AL); 00078 __DECLARE_8BIT_REGISTER__(ICR1H); 00079 __DECLARE_8BIT_REGISTER__(ICR1L); 00080 __DECLARE_8BIT_REGISTER__(TCNT1H); 00081 __DECLARE_8BIT_REGISTER__(TCNT1L); 00082 __DECLARE_8BIT_REGISTER__(TCCR1C); 00083 __DECLARE_8BIT_REGISTER__(TCCR1B); 00084 __DECLARE_8BIT_REGISTER__(TCCR1A); 00085 __DECLARE_8BIT_REGISTER__(DIDR1); 00086 __DECLARE_8BIT_REGISTER__(DIDR0); 00087 __DECLARE_8BIT_REGISTER__(ADMUX); 00088 __DECLARE_8BIT_REGISTER__(ADCSRB); 00089 __DECLARE_8BIT_REGISTER__(ADCSRA); 00090 __DECLARE_8BIT_REGISTER__(ADCH); 00091 __DECLARE_8BIT_REGISTER__(ADCL); 00092 __DECLARE_8BIT_REGISTER__(PCMSK3); 00093 __DECLARE_8BIT_REGISTER__(TIMSK2); 00094 __DECLARE_8BIT_REGISTER__(TIMSK1); 00095 __DECLARE_8BIT_REGISTER__(TIMSK0); 00096 __DECLARE_8BIT_REGISTER__(PCMSK2); 00097 __DECLARE_8BIT_REGISTER__(PCMSK1); 00098 __DECLARE_8BIT_REGISTER__(PCMSK0); 00099 __DECLARE_8BIT_REGISTER__(EICRA); 00100 __DECLARE_8BIT_REGISTER__(PCICR); 00101 __DECLARE_8BIT_REGISTER__(OSCCAL); 00102 __DECLARE_8BIT_REGISTER__(PRR); 00103 __DECLARE_8BIT_REGISTER__(CLKPR); 00104 __DECLARE_8BIT_REGISTER__(WDTCSR); 00105 __DECLARE_8BIT_REGISTER__(SREG); 00106 __DECLARE_8BIT_REGISTER__(SPH); 00107 __DECLARE_8BIT_REGISTER__(SPL); 00108 __DECLARE_8BIT_REGISTER__(SPMCSR); 00109 __DECLARE_8BIT_REGISTER__(MCUCR); 00110 __DECLARE_8BIT_REGISTER__(MCUSR); 00111 __DECLARE_8BIT_REGISTER__(SMCR); 00112 __DECLARE_8BIT_REGISTER__(OCDR); 00113 __DECLARE_8BIT_REGISTER__(ACSR); 00114 __DECLARE_8BIT_REGISTER__(SPDR); 00115 __DECLARE_8BIT_REGISTER__(SPSR); 00116 __DECLARE_8BIT_REGISTER__(SPCR); 00117 __DECLARE_8BIT_REGISTER__(GPIOR2); 00118 __DECLARE_8BIT_REGISTER__(GPIOR1); 00119 __DECLARE_8BIT_REGISTER__(OCR0B); 00120 __DECLARE_8BIT_REGISTER__(OCR0A); 00121 __DECLARE_8BIT_REGISTER__(TCNT0); 00122 __DECLARE_8BIT_REGISTER__(TCCR0B); 00123 __DECLARE_8BIT_REGISTER__(TCCR0A); 00124 __DECLARE_8BIT_REGISTER__(GTCCR); 00125 __DECLARE_8BIT_REGISTER__(EEARH); 00126 __DECLARE_8BIT_REGISTER__(EEARL); 00127 __DECLARE_8BIT_REGISTER__(EEDR); 00128 __DECLARE_8BIT_REGISTER__(EECR); 00129 __DECLARE_8BIT_REGISTER__(GPIOR0); 00130 __DECLARE_8BIT_REGISTER__(EIMSK); 00131 __DECLARE_8BIT_REGISTER__(EIFR); 00132 __DECLARE_8BIT_REGISTER__(PCIFR); 00133 __DECLARE_8BIT_REGISTER__(TIFR2); 00134 __DECLARE_8BIT_REGISTER__(TIFR1); 00135 __DECLARE_8BIT_REGISTER__(TIFR0); 00136 __DECLARE_8BIT_REGISTER__(PORTD); 00137 __DECLARE_8BIT_REGISTER__(DDRD); 00138 __DECLARE_8BIT_REGISTER__(PIND); 00139 __DECLARE_8BIT_REGISTER__(PORTC); 00140 __DECLARE_8BIT_REGISTER__(DDRC); 00141 __DECLARE_8BIT_REGISTER__(PINC); 00142 __DECLARE_8BIT_REGISTER__(PORTB); 00143 __DECLARE_8BIT_REGISTER__(DDRB); 00144 __DECLARE_8BIT_REGISTER__(PINB); 00145 __DECLARE_8BIT_REGISTER__(PORTA); 00146 __DECLARE_8BIT_REGISTER__(DDRA); 00147 __DECLARE_8BIT_REGISTER__(PINA); 00148 __DECLARE_16BIT_REGISTER__(OCR1B); 00149 __DECLARE_16BIT_REGISTER__(OCR1A); 00150 __DECLARE_16BIT_REGISTER__(ICR1); 00151 __DECLARE_16BIT_REGISTER__(TCNT1); 00152 __DECLARE_16BIT_REGISTER__(ADC); 00153 __DECLARE_16BIT_REGISTER__(SP); 00154 00155 } // namespace AVRCpp 00156 00157 00158 // UCSR1C 00159 #define _UMSEL11 0x80 00160 #define _UMSEL10 0x40 00161 #define _UPM11 0x20 00162 #define _UPM10 0x10 00163 #define _USBS1 0x8 00164 #define _UCSZ11 0x4 00165 #define _UCSZ10 0x2 00166 #define _UCPOL1 0x1 00167 00168 // UCSR1B 00169 #define _RXCIE1 0x80 00170 #define _TXCIE1 0x40 00171 #define _UDRIE1 0x20 00172 #define _RXEN1 0x10 00173 #define _TXEN1 0x8 00174 #define _UCSZ12 0x4 00175 #define _RXB81 0x2 00176 #define _TXB81 0x1 00177 00178 // UCSR1A 00179 #define _RXC1 0x80 00180 #define _TXC1 0x40 00181 #define _UDRE1 0x20 00182 #define _FE1 0x10 00183 #define _DOR1 0x8 00184 #define _UPE1 0x4 00185 #define _U2X1 0x2 00186 #define _MPCM1 0x1 00187 00188 // UCSR0C 00189 #define _UMSEL01 0x80 00190 #define _UMSEL00 0x40 00191 #define _UPM01 0x20 00192 #define _UPM00 0x10 00193 #define _USBS0 0x8 00194 #define _UCSZ01 0x4 00195 #define _UCSZ00 0x2 00196 #define _UCPOL0 0x1 00197 00198 // UCSR0B 00199 #define _RXCIE0 0x80 00200 #define _TXCIE0 0x40 00201 #define _UDRIE0 0x20 00202 #define _RXEN0 0x10 00203 #define _TXEN0 0x8 00204 #define _UCSZ02 0x4 00205 #define _RXB80 0x2 00206 #define _TXB80 0x1 00207 00208 // UCSR0A 00209 #define _RXC0 0x80 00210 #define _TXC0 0x40 00211 #define _UDRE0 0x20 00212 #define _FE0 0x10 00213 #define _DOR0 0x8 00214 #define _UPE0 0x4 00215 #define _U2X0 0x2 00216 #define _MPCM0 0x1 00217 00218 // TWAMR 00219 #define _TWAM6 0x80 00220 #define _TWAM5 0x40 00221 #define _TWAM4 0x20 00222 #define _TWAM3 0x10 00223 #define _TWAM2 0x8 00224 #define _TWAM1 0x4 00225 #define _TWAM0 0x2 00226 00227 // TWCR 00228 #define _TWINT 0x80 00229 #define _TWEA 0x40 00230 #define _TWSTA 0x20 00231 #define _TWSTO 0x10 00232 #define _TWWC 0x8 00233 #define _TWEN 0x4 00234 #define _TWIE 0x1 00235 00236 // TWAR 00237 #define _TWA6 0x80 00238 #define _TWA5 0x40 00239 #define _TWA4 0x20 00240 #define _TWA3 0x10 00241 #define _TWA2 0x8 00242 #define _TWA1 0x4 00243 #define _TWA0 0x2 00244 #define _TWGCE 0x1 00245 00246 // TWSR 00247 #define _TWS7 0x80 00248 #define _TWS6 0x40 00249 #define _TWS5 0x20 00250 #define _TWS4 0x10 00251 #define _TWS3 0x8 00252 #define _TWPS1 0x2 00253 #define _TWPS0 0x1 00254 00255 // ASSR 00256 #define _EXCLK 0x40 00257 #define _AS2 0x20 00258 #define _TCN2UB 0x10 00259 #define _OCR2AUB 0x8 00260 #define _OCR2BUB 0x4 00261 #define _TCR2AUB 0x2 00262 #define _TCR2BUB 0x1 00263 00264 // TCCR2B 00265 #define _FOC2A 0x80 00266 #define _FOC2B 0x40 00267 #define _WGM22 0x8 00268 #define _CS22 0x4 00269 #define _CS21 0x2 00270 #define _CS20 0x1 00271 00272 // TCCR2A 00273 #define _COM2A1 0x80 00274 #define _COM2A0 0x40 00275 #define _COM2B1 0x20 00276 #define _COM2B0 0x10 00277 #define _WGM21 0x2 00278 #define _WGM20 0x1 00279 00280 // TCCR1C 00281 #define _FOC1A 0x80 00282 #define _FOC1B 0x40 00283 00284 // TCCR1B 00285 #define _ICNC1 0x80 00286 #define _ICES1 0x40 00287 #define _WGM13 0x10 00288 #define _WGM12 0x8 00289 #define _CS12 0x4 00290 #define _CS11 0x2 00291 #define _CS10 0x1 00292 00293 // TCCR1A 00294 #define _COM1A1 0x80 00295 #define _COM1A0 0x40 00296 #define _COM1B1 0x20 00297 #define _COM1B0 0x10 00298 #define _WGM11 0x2 00299 #define _WGM10 0x1 00300 00301 // DIDR1 00302 #define _AIN1D 0x2 00303 #define _AIN0D 0x1 00304 00305 // DIDR0 00306 #define _ADC7D 0x80 00307 #define _ADC6D 0x40 00308 #define _ADC5D 0x20 00309 #define _ADC4D 0x10 00310 #define _ADC3D 0x8 00311 #define _ADC2D 0x4 00312 #define _ADC1D 0x2 00313 #define _ADC0D 0x1 00314 00315 // ADMUX 00316 #define _REFS1 0x80 00317 #define _REFS0 0x40 00318 #define _ADLAR 0x20 00319 #define _MUX4 0x10 00320 #define _MUX3 0x8 00321 #define _MUX2 0x4 00322 #define _MUX1 0x2 00323 #define _MUX0 0x1 00324 00325 // ADCSRB 00326 #define _ACME 0x40 00327 #define _ADTS2 0x4 00328 #define _ADTS1 0x2 00329 #define _ADTS0 0x1 00330 00331 // ADCSRA 00332 #define _ADEN 0x80 00333 #define _ADSC 0x40 00334 #define _ADATE 0x20 00335 #define _ADIF 0x10 00336 #define _ADIE 0x8 00337 #define _ADPS2 0x4 00338 #define _ADPS1 0x2 00339 #define _ADPS0 0x1 00340 00341 // PCMSK3 00342 #define _PCINT31 0x80 00343 #define _PCINT30 0x40 00344 #define _PCINT29 0x20 00345 #define _PCINT28 0x10 00346 #define _PCINT27 0x8 00347 #define _PCINT26 0x4 00348 #define _PCINT25 0x2 00349 #define _PCINT24 0x1 00350 00351 // TIMSK2 00352 #define _OCIE2B 0x4 00353 #define _OCIE2A 0x2 00354 #define _TOIE2 0x1 00355 00356 // TIMSK1 00357 #define _ICIE1 0x20 00358 #define _OCIE1B 0x4 00359 #define _OCIE1A 0x2 00360 #define _TOIE1 0x1 00361 00362 // TIMSK0 00363 #define _OCIE0B 0x4 00364 #define _OCIE0A 0x2 00365 #define _TOIE0 0x1 00366 00367 // PCMSK2 00368 #define _PCINT23 0x80 00369 #define _PCINT22 0x40 00370 #define _PCINT21 0x20 00371 #define _PCINT20 0x10 00372 #define _PCINT19 0x8 00373 #define _PCINT18 0x4 00374 #define _PCINT17 0x2 00375 #define _PCINT16 0x1 00376 00377 // PCMSK1 00378 #define _PCINT15 0x80 00379 #define _PCINT14 0x40 00380 #define _PCINT13 0x20 00381 #define _PCINT12 0x10 00382 #define _PCINT11 0x8 00383 #define _PCINT10 0x4 00384 #define _PCINT9 0x2 00385 #define _PCINT8 0x1 00386 00387 // PCMSK0 00388 #define _PCINT7 0x80 00389 #define _PCINT6 0x40 00390 #define _PCINT5 0x20 00391 #define _PCINT4 0x10 00392 #define _PCINT3 0x8 00393 #define _PCINT2 0x4 00394 #define _PCINT1 0x2 00395 #define _PCINT0 0x1 00396 00397 // EICRA 00398 #define _ISC21 0x20 00399 #define _ISC20 0x10 00400 #define _ISC11 0x8 00401 #define _ISC10 0x4 00402 #define _ISC01 0x2 00403 #define _ISC00 0x1 00404 00405 // PCICR 00406 #define _PCIE3 0x8 00407 #define _PCIE2 0x4 00408 #define _PCIE1 0x2 00409 #define _PCIE0 0x1 00410 00411 // PRR 00412 #define _PRTWI 0x80 00413 #define _PRTIM2 0x40 00414 #define _PRTIM0 0x20 00415 #define _PRUSART1 0x10 00416 #define _PRTIM1 0x8 00417 #define _PRSPI 0x4 00418 #define _PRUSART0 0x2 00419 #define _PRADC 0x1 00420 00421 // CLKPR 00422 #define _CLKPCE 0x80 00423 #define _CLKPS3 0x8 00424 #define _CLKPS2 0x4 00425 #define _CLKPS1 0x2 00426 #define _CLKPS0 0x1 00427 00428 // WDTCSR 00429 #define _WDIF 0x80 00430 #define _WDIE 0x40 00431 #define _WDP3 0x20 00432 #define _WDCE 0x10 00433 #define _WDE 0x8 00434 #define _WDP2 0x4 00435 #define _WDP1 0x2 00436 #define _WDP0 0x1 00437 00438 // SREG 00439 #define _SREG_I 0x80 00440 #define _SREG_T 0x40 00441 #define _SREG_H 0x20 00442 #define _SREG_S 0x10 00443 #define _SREG_V 0x8 00444 #define _SREG_N 0x4 00445 #define _SREG_Z 0x2 00446 #define _SREG_C 0x1 00447 00448 // SPH 00449 #define _SP15 0x80 00450 #define _SP14 0x40 00451 #define _SP13 0x20 00452 #define _SP12 0x10 00453 #define _SP11 0x8 00454 #define _SP10 0x4 00455 #define _SP9 0x2 00456 #define _SP8 0x1 00457 00458 // SPL 00459 #define _SP7 0x80 00460 #define _SP6 0x40 00461 #define _SP5 0x20 00462 #define _SP4 0x10 00463 #define _SP3 0x8 00464 #define _SP2 0x4 00465 #define _SP1 0x2 00466 #define _SP0 0x1 00467 00468 // SPMCSR 00469 #define _SPMIE 0x80 00470 #define _RWWSB 0x40 00471 #define _SIGRD 0x20 00472 #define _RWWSRE 0x10 00473 #define _BLBSET 0x8 00474 #define _PGWRT 0x4 00475 #define _PGERS 0x2 00476 #define _SPMEN 0x1 00477 00478 // MCUCR 00479 #define _JTD 0x80 00480 #define _BODS 0x40 00481 #define _BODSE 0x20 00482 #define _PUD 0x10 00483 #define _IVSEL 0x2 00484 #define _IVCE 0x1 00485 00486 // MCUSR 00487 #define _JTRF 0x10 00488 #define _WDRF 0x8 00489 #define _BORF 0x4 00490 #define _EXTRF 0x2 00491 #define _PORF 0x1 00492 00493 // SMCR 00494 #define _SM2 0x8 00495 #define _SM1 0x4 00496 #define _SM0 0x2 00497 #define _SE 0x1 00498 00499 // ACSR 00500 #define _ACD 0x80 00501 #define _ACBG 0x40 00502 #define _ACO 0x20 00503 #define _ACI 0x10 00504 #define _ACIE 0x8 00505 #define _ACIC 0x4 00506 #define _ACIS1 0x2 00507 #define _ACIS0 0x1 00508 00509 // SPSR 00510 #define _SPIF0 0x80 00511 #define _WCOL0 0x40 00512 #define _SPI2X0 0x1 00513 00514 // SPCR 00515 #define _SPIE0 0x80 00516 #define _SPE0 0x40 00517 #define _DORD0 0x20 00518 #define _MSTR0 0x10 00519 #define _CPOL0 0x8 00520 #define _CPHA0 0x4 00521 #define _SPR01 0x2 00522 #define _SPR00 0x1 00523 00524 // TCCR0B 00525 #define _FOC0A 0x80 00526 #define _FOC0B 0x40 00527 #define _WGM02 0x8 00528 #define _CS02 0x4 00529 #define _CS01 0x2 00530 #define _CS00 0x1 00531 00532 // TCCR0A 00533 #define _COM0A1 0x80 00534 #define _COM0A0 0x40 00535 #define _COM0B1 0x20 00536 #define _COM0B0 0x10 00537 #define _WGM01 0x2 00538 #define _WGM00 0x1 00539 00540 // GTCCR 00541 #define _TSM 0x80 00542 #define _PSR2 0x2 00543 #define _PSR54310 0x1 00544 00545 // EECR 00546 #define _EEPM1 0x20 00547 #define _EEPM0 0x10 00548 #define _EERIE 0x8 00549 #define _EEMPE 0x4 00550 #define _EEPE 0x2 00551 #define _EERE 0x1 00552 00553 // EIMSK 00554 #define _INT2 0x4 00555 #define _INT1 0x2 00556 #define _INT0 0x1 00557 00558 // EIFR 00559 #define _INTF2 0x4 00560 #define _INTF1 0x2 00561 #define _INTF0 0x1 00562 00563 // PCIFR 00564 #define _PCIF3 0x8 00565 #define _PCIF2 0x4 00566 #define _PCIF1 0x2 00567 #define _PCIF0 0x1 00568 00569 // TIFR1 00570 #define _ICF1 0x20 00571 #define _OCF1B 0x4 00572 #define _OCF1A 0x2 00573 #define _TOV1 0x1 00574 00575 // TIFR0 00576 #define _OCF0B 0x4 00577 #define _OCF0A 0x2 00578 #define _TOV0 0x1 00579 00580 // PORTD 00581 #define _PD7 0x80 00582 #define _PD6 0x40 00583 #define _PD5 0x20 00584 #define _PD4 0x10 00585 #define _PD3 0x8 00586 #define _PD2 0x4 00587 #define _PD1 0x2 00588 #define _PD0 0x1 00589 00590 // DDRD 00591 #define _DDD7 0x80 00592 #define _DDD6 0x40 00593 #define _DDD5 0x20 00594 #define _DDD4 0x10 00595 #define _DDD3 0x8 00596 #define _DDD2 0x4 00597 #define _DDD1 0x2 00598 #define _DDD0 0x1 00599 00600 // PIND 00601 #define _PIND7 0x80 00602 #define _PIND6 0x40 00603 #define _PIND5 0x20 00604 #define _PIND4 0x10 00605 #define _PIND3 0x8 00606 #define _PIND2 0x4 00607 #define _PIND1 0x2 00608 #define _PIND0 0x1 00609 00610 // PORTC 00611 #define _PC7 0x80 00612 #define _PC6 0x40 00613 #define _PC5 0x20 00614 #define _PC4 0x10 00615 #define _PC3 0x8 00616 #define _PC2 0x4 00617 #define _PC1 0x2 00618 #define _PC0 0x1 00619 00620 // DDRC 00621 #define _DDC7 0x80 00622 #define _DDC6 0x40 00623 #define _DDC5 0x20 00624 #define _DDC4 0x10 00625 #define _DDC3 0x8 00626 #define _DDC2 0x4 00627 #define _DDC1 0x2 00628 #define _DDC0 0x1 00629 00630 // PINC 00631 #define _PINC7 0x80 00632 #define _PINC6 0x40 00633 #define _PINC5 0x20 00634 #define _PINC4 0x10 00635 #define _PINC3 0x8 00636 #define _PINC2 0x4 00637 #define _PINC1 0x2 00638 #define _PINC0 0x1 00639 00640 // PORTB 00641 #define _PB7 0x80 00642 #define _PB6 0x40 00643 #define _PB5 0x20 00644 #define _PB4 0x10 00645 #define _PB3 0x8 00646 #define _PB2 0x4 00647 #define _PB1 0x2 00648 #define _PB0 0x1 00649 00650 // DDRB 00651 #define _DDB7 0x80 00652 #define _DDB6 0x40 00653 #define _DDB5 0x20 00654 #define _DDB4 0x10 00655 #define _DDB3 0x8 00656 #define _DDB2 0x4 00657 #define _DDB1 0x2 00658 #define _DDB0 0x1 00659 00660 // PINB 00661 #define _PINB7 0x80 00662 #define _PINB6 0x40 00663 #define _PINB5 0x20 00664 #define _PINB4 0x10 00665 #define _PINB3 0x8 00666 #define _PINB2 0x4 00667 #define _PINB1 0x2 00668 #define _PINB0 0x1 00669 00670 // PORTA 00671 #define _PA7 0x80 00672 #define _PA6 0x40 00673 #define _PA5 0x20 00674 #define _PA4 0x10 00675 #define _PA3 0x8 00676 #define _PA2 0x4 00677 #define _PA1 0x2 00678 #define _PA0 0x1 00679 00680 // DDRA 00681 #define _DDA7 0x80 00682 #define _DDA6 0x40 00683 #define _DDA5 0x20 00684 #define _DDA4 0x10 00685 #define _DDA3 0x8 00686 #define _DDA2 0x4 00687 #define _DDA1 0x2 00688 #define _DDA0 0x1 00689 00690 // PINA 00691 #define _PINA7 0x80 00692 #define _PINA6 0x40 00693 #define _PINA5 0x20 00694 #define _PINA4 0x10 00695 #define _PINA3 0x8 00696 #define _PINA2 0x4 00697 #define _PINA1 0x2 00698 #define _PINA0 0x1 00699 00700 00701 // General ports 00702 namespace AVRCpp 00703 { 00704 __DECLARE_PORT__(D); 00705 __DECLARE_PORT__(C); 00706 __DECLARE_PORT__(B); 00707 __DECLARE_PORT__(A); 00708 00709 } // namespace AVRCpp 00710 00711 00712 /**********************************************************************************************************************/ 00713 00714 #endif // ifndef __AVR_CPP_IO_H__ 00715 #endif // ifndef __AVR_CPP_ATMEGA164P_IO_H__
MTÜ TTÜ Robotiklubi |