- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 3 von 3

Thema: Interrupts gehen nicht mehr

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    716
    Hallo damfino,

    jetzt beim schnellen überfliegen deines Codes fehlt das SEI, um die Interrupts überhaupt freizuschalten. (Zeile aus versehen gelöscht?) Kann es aber auch übersehen haben.

    Viele Grüße
    Andreas

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    521
    Hallo Andreas,
    SEI ist da, gleich nach der Watchdog Abfrage. Habs jetzt nach weiter rauf init() geschoben, kein Unterschied.
    Die Fuses gerade von normalem externen Crystal (original Einstellung vom Board) auf Fullswing Crystal gesetzt

    Noch was anderes ist mir gerade aufgefallen:
    Habe nach der Watchdog Abfrage einfach mal das eingebaut:
    Code:
    _delay_ms(100);
    LED_gr_aus;LED_rot_aus;
    _delay_ms(100);
    LED_gr_ein;LED_rot_ein;
    _delay_ms(100);
    LED_gr_aus;LED_rot_aus;
    _delay_ms(100);
    LED_gr_ein;LED_rot_ein;
    _delay_ms(100);
    LED_gr_aus;LED_rot_aus;
    _delay_ms(100);
    Das Blinken dauert locker 3s anstatt 100ms. Die Clkdiv8 Fuse ist richtig gesetzt, sonst geht gleich gar nichts mehr.
    Im Code steht natürlich auch:
    #ifndef F_CPU
    #define F_CPU 16000000
    #endif

    Ebenso sind in der TWI und LCD Lib von Fleury die richtigen 16000000 Hz eingetragen, und im AVR Studio unter Compiler -> Symbols "F_CPU=16000000"

    LG

    - - - Aktualisiert - - -

    So, habe die alten Software Versionen neu compiliert und getestet, der Code funktioniert bis dahin wo ich die ISR Eingänge ändern musste, dh mit dieser Konfiguration macht es Probleme:

    /*+++ Interrupt Messer +++++++++*/ // PIN PD3 - digital pin 18 (TX1)
    EICRB |= (1<<ISC30) ; // jede Flanke
    EIMSK |= (1<<INT3); // Int enable

    /*+++ Interrupt Vorderrad (pin change interrupt) +++++++++*/
    PCICR |= (1<<PCIE0); // Int 7-0 enable
    PCMSK0 |= (1<<PCINT5); // Pin B5


    /*+++ Interrupt Odo Links +++++++++*/ // PIN PE4 - PWM digital pin 2
    // EICRB |= (1<<ISC41) ; // eine Flanke
    EICRB |= (1<<ISC40) ; // jede Flanke
    EIMSK |= (1<<INT4); // Int enable



    /*+++ Interrupt Odo Rechts +++++++++*/ // PIN PE5 - PWM digital pin 3
    // EICRB |= (1<<ISC51) ; // eine Flanke
    EICRB |= (1<<ISC50) ; // jede Flanke
    EIMSK |= (1<<INT5); // Int enable


    Es sind Hallsensoren, bzw 1x ein Reed Kontakt....
    Eindeutig, wenn diese Interrupts deaktiviert sind, läuft der Timer3 und damit das Programm.
    Warum auch immer.
    Aber irgendwie muss ich diese Eingänge einlesen können???

    LG!

    - - - Aktualisiert - - -

    Ich glaub ich spinn gerade: Hab alle ISR ausser Timer 3 auskommentiert, und einzeln wieder aktiviert um zu sehen bei welcher ISR das Programm wieder hängt.
    Alles ist wieder aktiv, und das Programm geht wieder.
    Verstehe das alles nicht mehr.
    Einzige Änderung war die Fuse beim Crystal, danach noch 10x flashen, und das wars?
    Das wars für heute, vielleicht verstehe ich die Welt morgen wieder.
    alles über meinen Rasenmäherroboter (wer Tippfehler findet darf sie gedanklich ausbessern, nur für besonders kreative Fehler behalte ich mir ein Copyright vor.)

Ähnliche Themen

  1. PC XP Treiber gehen nicht
    Von runner02 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 6
    Letzter Beitrag: 12.03.2011, 12:27
  2. atmega16 pin 3-5 gehen nicht
    Von Roboman93 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 26.11.2008, 16:55
  3. Fototransistoren gehen nicht.
    Von eleto im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 22.10.2008, 10:51
  4. Asuro Motoren gehen nicht
    Von Vistakiller im Forum Motoren
    Antworten: 5
    Letzter Beitrag: 31.07.2008, 19:26
  5. Meine Eingangs-Ports gehen nicht mehr beim Mega 8 ?
    Von Roberto im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 31.10.2005, 15:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress