mega128 Ints unregelmäßig

Gast #144522
Hallo,

Basis: mega128 und AVR-GCC an Port D 0 horcht der Oszi
bei dem ISR-Aufruf wird Pin 0 getoggelt:

ISR:

//------------------------------------------------------------------
SIGNAL (SIG_OVERFLOW0) {  // signal handler for tcnt0 overflow
  task_nr++;
  PORTD=(PIND^0x01);

  if (teiler_ae1==Tmax1) {  //
    teiler_ae2=0;    //zählt modulo Tmax1
    flag_ae2=1;      //Flag setzten
  }
  else
    teiler_ae2++;
}
//------------------------------------------------------------------

Das sollte jetzt doch wohl regelmäßig stattfinden L-Zeit = H-Zeit?
Oder? Jedenfalls unabhängig vom Programm in der main, das kein DI/EI
beinhaltet.
Bei mir leider nicht. (Andere Int.-Quellen sind nicht enabled.)


Gruß
joh
Gast
Versuchs mal mit

PORTD ^= 0x01;

anstelle

PORTD=(PIND^0x01);

Es könnte sein, daß beim Einlesen des Ports via PIN Mist herauskommt,
weil der Pin ohne Pull-Up floatet.
Gast
Danke thkais,

das Ei lag an ganz anderer Stelle. Mißtraue Deiner Messtechnik?
Ich benutze ein Bitscope dessen DSO Frontend beim zoomen in X-Richtung
in sein Auflösungsraster u.U. stark verzerrt. Mit einem anderen Oszi
sieht es sauber aus.

Gruß
joh

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.