hansibull:
the default RX/TX pins are RXD0/TXD1. These pins are shared with PDI and PDO, which is the data in and data out for the AVRISP programmer.
I don't think you can use an usbasp as a USB to serial converter between the ATmega128 and your PC; you'll need a dedicated chip for that, such as and FTDI adapter or similar. The usbasp will only be good for programming using the ISP header, not UART.
Okay, i'm understand.
but you dont answer this :
figoarzaki:
last time i tried IRRemote library with atmega128 and it comes out with error about timer, i use irrecvdemo example code but it still dont work. Can you take a look onto it?
Error message :
Arduino: 1.8.2 (Windows 7), Board: "ATmega128, 2.7v, Disabled (default), 16 MHz external"
In file included from C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:20:0:
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::mark(int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:227:31: error: 'TCCR2A' was not declared in this scope
#define TIMER_ENABLE_PWM (TCCR2A |= _BV(COM2B1))
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:227:3: note: in expansion of macro 'TIMER_ENABLE_PWM'
TIMER_ENABLE_PWM; // Enable pin 3 PWM output
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:227:45: error: 'COM2B1' was not declared in this scope
#define TIMER_ENABLE_PWM (TCCR2A |= _BV(COM2B1))
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:227:3: note: in expansion of macro 'TIMER_ENABLE_PWM'
TIMER_ENABLE_PWM; // Enable pin 3 PWM output
^
In file included from C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:20:0:
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::space(int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:228:31: error: 'TCCR2A' was not declared in this scope
#define TIMER_DISABLE_PWM (TCCR2A &= ~(_BV(COM2B1)))
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:235:3: note: in expansion of macro 'TIMER_DISABLE_PWM'
TIMER_DISABLE_PWM; // Disable pin 3 PWM output
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:228:47: error: 'COM2B1' was not declared in this scope
#define TIMER_DISABLE_PWM (TCCR2A &= ~(_BV(COM2B1)))
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:235:3: note: in expansion of macro 'TIMER_DISABLE_PWM'
TIMER_DISABLE_PWM; // Disable pin 3 PWM output
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::enableIROut(int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:230:31: error: 'TIMSK2' was not declared in this scope
#define TIMER_DISABLE_INTR (TIMSK2 = 0)
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:253:3: note: in expansion of macro 'TIMER_DISABLE_INTR'
TIMER_DISABLE_INTR; //Timer2 Overflow Interrupt
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:234:3: error: 'TCCR2A' was not declared in this scope
TCCR2A = _BV(WGM20); \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:263:3: note: in expansion of macro 'TIMER_CONFIG_KHZ'
TIMER_CONFIG_KHZ(khz);
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:235:3: error: 'TCCR2B' was not declared in this scope
TCCR2B = _BV(WGM22) | _BV(CS20); \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:263:3: note: in expansion of macro 'TIMER_CONFIG_KHZ'
TIMER_CONFIG_KHZ(khz);
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:235:16: error: 'WGM22' was not declared in this scope
TCCR2B = _BV(WGM22) | _BV(CS20); \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:263:3: note: in expansion of macro 'TIMER_CONFIG_KHZ'
TIMER_CONFIG_KHZ(khz);
^
In file included from C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:20:0:
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:236:3: error: 'OCR2A' was not declared in this scope
OCR2A = pwmval; \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:263:3: note: in expansion of macro 'TIMER_CONFIG_KHZ'
TIMER_CONFIG_KHZ(khz);
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:237:3: error: 'OCR2B' was not declared in this scope
OCR2B = pwmval / 3; \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:263:3: note: in expansion of macro 'TIMER_CONFIG_KHZ'
TIMER_CONFIG_KHZ(khz);
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRrecv::enableIRIn()':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:249:3: error: 'TCCR2A' was not declared in this scope
TCCR2A = _BV(WGM21); \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:279:3: note: in expansion of macro 'TIMER_CONFIG_NORMAL'
TIMER_CONFIG_NORMAL();
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:250:3: error: 'TCCR2B' was not declared in this scope
TCCR2B = _BV(CS21); \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:279:3: note: in expansion of macro 'TIMER_CONFIG_NORMAL'
TIMER_CONFIG_NORMAL();
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:251:3: error: 'OCR2A' was not declared in this scope
OCR2A = TIMER_COUNT_TOP / 8; \
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:279:3: note: in expansion of macro 'TIMER_CONFIG_NORMAL'
TIMER_CONFIG_NORMAL();
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:229:31: error: 'TIMSK2' was not declared in this scope
#define TIMER_ENABLE_INTR (TIMSK2 = _BV(OCIE2A))
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:282:3: note: in expansion of macro 'TIMER_ENABLE_INTR'
TIMER_ENABLE_INTR;
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremoteInt.h:229:44: error: 'OCIE2A' was not declared in this scope
#define TIMER_ENABLE_INTR (TIMSK2 = _BV(OCIE2A))
^
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:282:3: note: in expansion of macro 'TIMER_ENABLE_INTR'
TIMER_ENABLE_INTR;
^
exit status 1
Error compiling for board ATmega128.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.