2x nekonečná smyčka

.
Myšlenka upravit _delay() je správná. Nevím o žádné nelinearitě.
Chvíli ale trvá, než pomocí simulátoru najdeš hodnoty pro _delay().
(A pro různé kompilátory se může lišit.)

U mně funguje toto: (WINAVR-20100110)

int main(void) { while(1) { // invertuj bity PORTD ^= (1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6); _delay_ms(961); _delay_us(555); } }
Ale všimni si, že tento kód zaměstnává stoprocentně procesor, takže už nemůže dělat nic jiného.
Proto se v praxi používají ke zpoždění časovače.

Jednoduše řečeno, dvě nekonečné smyčky nemohou běžet současně.
A v začátcích to určitě v žádném programu nebudeš potřebovat.