öhm was solln das mit dem "!=" da, ich vermute mal einen typo oder soll das das pipe symbol (bitweises "oder") sein, das kannst du machen indem du AltGr + spitze Klammer drückst, unten links zwischen y und a?

WGM14 funktioniert so nicht, hast du das datenblatt von deinem controller nicht zur hand? da steht eigentlich eklärt wie du auf WGM 14 kommst!

http://ww1.microchip.com/downloads/e...oc/doc2467.pdf einmal der link zum downloaden und dann runter zum 16-bit timer kapitel beginnend auf seite 111

die registererklärung und die WGM modes stehen ab seite 132

wichtig ist die bits zur kontrolle des WGM verteilen sich auf beide register TCCR1 A und B


Code:
//KEIN PRESCALER SETZEN
TCCR1A = (1<<WGM11); //WGM11 und WGM10 sind in TCCR1A
TCCR1B = (1<<WGM12) | (1<<WGM13); //laut datenblatt WGM(14) = WGM11 + WGM12 + WGM13
TCNT = 0; //kann man sich sparen ist eh 0 nachm neustart und wir wollen nicht den counter manipulieren whrend der timer rennt
ICR1 = 62500; //das ist das TOP register im WGM14 und bestimmt wann der counter einen overflow macht (der timer zählt aufwärts, nicht wie bei pic abwärts by default)
TCCR1B |= (1<<CS02); //erst JETZT schalten wir den timer ein und fassen ihn auch nie wieder an
die ISR sollte dann pro millisekunde einmal aufgerufen werden wenn cih jetzt nichts verschwitzt habe