Wie im Code zu sehen habe ich dort einen Binären Zähler und dort sehe
ich das er an "zufälligen" Punkten neu beginnt (restart, reset),
ich habe auch schon per Ozzi geschaut ob an Reset pin oder VCC Peaks zu
sehen sind, aber nichts.
Und das Delay schuld ist, vermute ich weil wenn ich diese Funk nicht
aufrufe läuft der Code durch, zwar schneller aber es geht.
Dann habe ich statt delay eine Timer genutzt ( ohne Funktionsaufruf )
und auch das Funktionierte
1 | //Timer config
|
2 | TCCR1A=0x00;
|
3 | TCCR1B=0x00;
|
4 | TCNT1H=0x00;
|
5 | TCNT1L=0x00;
|
6 | ICR1H=0x00;
|
7 | ICR1L=0x00;
|
8 | OCR1AH=0x00;
|
9 | OCR1AL=0x00;
|
10 | OCR1BH=0x00;
|
11 | OCR1BL=0x00;
|
12 | OCR1CH=0x00;
|
13 | OCR1CL=0x00;
|
14 | // Timer/Counter 3 Interrupt(s) initialization
|
15 | TIMSK3=0x00;
|
16 |
|
17 | ..main..
|
18 | { ..
|
19 | u16 TimeMerker=TCNT3;
|
20 | //_delay_ms()
|
21 | while( (TCNT3-TimeMerker) < 15625) {};
|
22 | TimeMerker=TCNT3;
|
23 | // geht nach 1 sek weiter
|
24 | }
|
in etwas so
und sobald das ganz komplexer wird ( funktionen aufrufen ... )
tut er nichts oder restartet dauernd.
Ich benutze wie geagt ein Modul die ganzen kleinen SMD-Bauteile kann ich
schlecht analysieren... wenn ich aber direkt am Quarz messe ist der Takt
ok