Also im mom komm ich bei meinem Programm einfach nicht weiter...
Hier mal der Betreffende teil....
// Timer-Interrupt
ISR(TIMER0_OVF_vect)
{
  // save(ADCL, ADCH);    // Speichern
  test(0xff, 0xff);
  TCNT0 = TCNT0 + ZAEHL;    // Zähler neusetzen
}
In main():
// Timer   initsalisierung
ausg(BOOT_timer_init);
  TCCR0 = 0x1;    // Teiler 0
  TIMSK = 0x2;    // Timer0 Interrupt frei
  TCNT0 = ZAEHL;    // Startwert setzen
sei();
________________________
Also die Initsialisierung wird ohne Probleme durchlaufen. Aber der 
Timer-Interrupt wird nie Ausgelöst. Was hab ich falsch gemacht?
  Bei dem Code fehlen sowohl ein paar Zeilen als auch Infos, um welchen AVR es eigentlich geht. Ich kann das so nicht mit einem Datenblatt vergleichen, auch nicht übersetzen, geschweige denn im Simulator nachsehen, ob ich das Problem wenigstens reproduzieren kann. Sorry.
huch srr ganz vergessen also es geht um nen atmega8 ich weis nich... soll ich den ganzen code hochladen oder was fehlt?
Was Timer oder Interrupt angeht gibts da keine code zeiln mehr... vllt liegt da mein fehler?
TIMSK ist falsch gesetzt. Das funktioniert in der Simulation:
| 1 | //
 | 
| 2 | // Atmega8
 | 
| 3 | // OPtimierung -O0 (keine)
 | 
| 4 | // F_CPU 4000000
 | 
| 5 | //
 | 
| 6 | #include <avr/io.h> | 
| 7 | #include <avr/interrupt.h> | 
| 8 | |
| 9 | #define ZAEHL 42
 | 
| 10 | |
| 11 | static void test(unsigned char dick, unsigned char doof) | 
| 12 | {
 | 
| 13 | DDRB = dick; | 
| 14 | PORTB ^= doof; | 
| 15 | }
 | 
| 16 | |
| 17 | // Timer-Interrupt
 | 
| 18 | ISR(TIMER0_OVF_vect) | 
| 19 | {
 | 
| 20 | test(0xff, 0xff); | 
| 21 | TCNT0 = TCNT0 + ZAEHL; // Zähler neusetzen | 
| 22 | }
 | 
| 23 | |
| 24 | int main(void) | 
| 25 | {
 | 
| 26 | |
| 27 | TCCR0 = (1<<CS00); // Teiler 1 (no prescaling) Table 34 Datenblatt | 
| 28 | TIMSK = (1<<TOIE0); // Timer0 Overflow Interrupt frei | 
| 29 | TCNT0 = ZAEHL; // Startwert setzen | 
| 30 | |
| 31 | sei(); | 
| 32 | |
| 33 | while(1); | 
| 34 | }
 | 
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
  
  Bestehender Account
  
  
  
  Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
  Noch kein Account? Hier anmelden.

 Thread beobachten
 Thread beobachten Seitenaufteilung abschalten
 Seitenaufteilung abschalten