Atmega 32: Interrupt Timer1 funktioniert nicht!

Gast #1302665
Hallo zusammen,

ich hab ein Problem mit einem Programm.

Kurze Info wie es gemeint ist:

An einen Atmega32 ist an PA1 der Triggereingang eines Ultraschallsensors 
angeschlossen, an PC6 der Echoausgang.

Das Programm soll einfach nur den in der Manual des Sensors (SRF04) 
beschriebenen Ablauf haben.
10µs Triggerimupuls
200µs Sonic Burst abwarten
Zeit des Echos aufzeichnen

... und dann halt entsprechen reagieren, in dem eine Steuervariable auf 
1 oder 0 gesetzt wird.
Dieser Wert wird dann ausserdem noch über SPI an einen anderen 
Controller geschickt.

So, zum Problem:

Nach dem ich lange rumgesucht habe, stellte ich fest, dass der 
Timer-Interrupt nicht funktioniert. Festgestellt habe ich das, weil der 
PortD nicht wie verlangt den Wert "2" erhält.

Ich kann aber den Fehler beim besten Willen nicht finden.

Merkwürdig ist auch, dass der Sensor ununterbrochen arbeitet (man hört 
ein Rauschen), obwohl ja eigentlich immer erst dann wieder was passieren 
kann, wenn der Timer-Interrrupt angenommen wurde.

Findet Ihr den Fehler?! :)

Grüße,

Dennis
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.