Hallo ich habe folgendes Problem, wenn ich im AVR- Studio simuliere,
startet es den den Controller neu, sprich er beginnt wieder in Main,
allerdings werden die Werte im TCNT0- Register nicht resetet. Ich
programmiere mit dem aktuellsten WinAVR in C, der Controller ist ein
ATMEGA 162, mit der Quarzfrequenz 3.6864 MHz, welche auch im Debugger
eingestellt ist, dürfte aber eigentlich nichts zur Sache tun, weil das
selbige Problem auch bei 4.00 MHz auftritt. Der Neustart passiert
meistens, bei der Folgenden Code- Sequenz:
1 | void init_measurment ()
|
2 | {
|
3 | //sicherstellen, dass kein Interrupt stört
|
4 | //PCINT 0 deaktivieren
|
5 | GICR&=~(1<<PCIE0);
|
6 | //TC2 Overflow interrupt deaktivieren
|
7 | TIMSK&=~(1<<TOIE2);
|
8 | //TC2 OC interrupt aktivieren
|
9 | TIMSK|=(1<<OCIE2);
|
10 | //TC2, prescaler 8
|
11 | TCCR2&=0x00;;
|
12 | TCCR2|=(1<<CS21);
|
13 | }
|
die Funktion rufe ich folgendermaßen auf:
allerdings habe ich Funktionen bisher immer so aufgerufen, wenn die
Parameterliste leer ist. Vielleicht hat noch jemand einen Link zum
nachlesen, wie man Funktionen aufruft, weil ich entsinne mich dunkel,
dass manche in der Parameterliste auch void Funktion (*variable) stehen
haben...
Schon mal danke für Eure Hilfe