SPI in loop() working fine, but not in ISR TIMER 1 interrupt

volatile void dilej() { krneki=0; while(krneki > 20) {krneki++;} }

What does this achieve? You set krneki to 0, and while it is greater than 20 (which it isn't) you add 1.