package test.AVR; import vm.InterruptDispatcher; import vm.InterruptHandler; import devices.AVR.ATMega2560.ATMega2560InterruptDispatcher; import devices.AVR.ATMega2560.Port; public class Timer2Handler implements InterruptHandler { private Port portA; public Timer2Handler(Port portA){ this.portA = portA; } @Override public void handle() { byte msbNibble = (byte) (portA.data & 0xf0); byte lsbNibble = (byte) (portA.data & 0x0f); portA.data = (byte) (msbNibble | (~lsbNibble)); } @Override public void register() { ATMega2560InterruptDispatcher.init(); InterruptDispatcher.registerHandler(new Timer2Handler(portA), ATMega2560InterruptDispatcher.TIMER2_OVF); } @Override public void enable() { } @Override public void disable() { } }