- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: INT0 an 328 - (M)Ein Problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hallo oberallgeier,

    Zitat Zitat von oberallgeier Beitrag anzeigen
    Die verlangte Funktion wird NUR erreicht, wenn ISC01 und ISC00 zu Null gesetzt sind, das heißt lt Datenblatt ".. The low level of INT0 generates an interrupt request .."

    Auszug aus dem Datenblatt zu mega328p (ATmega328-P_Atmel-42735B_Complete-11-2016, S 89):
    Code:
    ISC01 . ISC00 . . Description
     .0 . . . 0 . . . The low level of INT0 generates an interrupt request.
     .0 . . . 1 . . . Any logical change on INT0 generates an interrupt request.
     .1 . . . 0 . . . The falling edge of INT0 generates an interrupt request.
     .1 . . . 1 . . . The rising edge of INT0 generates an interrupt request.
    In Deinem geposteten Testcode wird ISC00 aber auf 1 gesetzt und damit entgegen dem Kommentar in der gleichen Zeile richtig auf "Any logical change on INT0 generates an interrupt request." gesetzt.

    Der ganze Testcode
    Code:
      void XTI0_int( void )            // Initialisiere Interrupt 0, PD2, auf ANY edge
     {                              //
    // - - - - - - - - - - - - - - - -
      EIMSK   |=  (1<<INT0);        // erlaube INT0
      EICRA   |=  (1<<ISC00);       // low level of INT0 generates an interrupt request
                                    //  =>  im Test triggert   J E D E   Flanke
                                    //  Oskar zeigt korrektes Abbild von PD2/INT0
    Alle anderen Varianten zeigen (Oskar) entweder keine exakte Kopie der Pulsform, nur 20 ms - Pulse oder gar nichts.
    Find ich in Ordnung. Der Testcode tut das was er soll.

    Derselbe Code in den komplex(er)en Projektquellen führt zu keiner Ausgabe der auf INT0 eingelesenen Daten.

    Fragen
    Hat bitte jemand eine Idee was da falsch läuft?
    Kann mir bitte jemand einen Rat geben wo ich noch nach Fehlern suchen kann?
    Möglicherweise ist der Bug in den anderen Projektquellen. Der Testcodeprogrammteil im komplexen Code scheint mir in Ordnung.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.655

    Problem Erledigt

    Grüß Dich Searcher!

    .. In Deinem geposteten Testcode wird ISC00 aber auf 1 gesetzt .. richtig auf "Any logical change on INT0 generates an interrupt request." ..
    Hmmmm. Auaaa. Du hast ja Recht und ich war blind - wohl von der mentalen Art (Leseschwäche hab ich nicht, dachte ich) :-// So ein Mist!

    .. Möglicherweise ist der Bug in den anderen Projektquellen ..
    Noch mehr eigene Blö...Blindheit. Jetzt habe ich statt des (älteren) Files #include "Sbbo2_mot14.c" den aktuellen File #include "Sbbo2_mot16.c" in der Hauptquelle eingetragen, den ich immer fleissig editiert, aber nicht includiert hatte. Nu läufts auch in diesem, eigentlichen Programm. Ich fürchte ich muss mir da über meine Geisteskräfte Gedanken machen.

    Ohhh mannnohmannn, danke! War ne Riesenhilfe.
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Freut mich, daß ich helfen konnte Wer kennt das nicht, daß man den Wald vor Bäumen nicht mehr sieht, wenn man schon mitten drin steht?

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. [ERLEDIGT] Atmega32: Frequenzabhängiges Problem mit INT0 und Timer0
    Von Kokomoking im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 22.04.2012, 13:13
  2. Int0 wird bei direkt bei 'Enable Int0' ausgelöst - Warum?
    Von malthy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 30.08.2010, 18:10
  3. Int0 / Int1 Problem ( Prellen )
    Von BlaueLed im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.01.2010, 11:38
  4. Unverständliches Problem mit INT0 / INT1
    Von popi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 04.09.2008, 14:34
  5. Problem aus Powerdown mit int0 bei mega8 ...
    Von Charly_cs im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 08.07.2007, 12:43

Stichworte

Berechtigungen

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

12V Akku bauen