Fehler beim Counter!

Gast #91115
Hallo!

In den Anlagen hab ich die Source von meinem ersten kleine Programm.
Es soll ungefähr 1 sekunde warten, bis sich die LEDs an PortB
anschalten. (Mein Atmel ist mit 8 Mhz getaktet)

Aber wenn ich dass Programm dann geladen hab und ich den Prozessor
einschalte leuchten die LEDs sofort.

Was mach ich falsch`?


Gruß!
Angehängte Dateien:
Gast #91116
Naja, die Ausgänge des Ports ist ja per Initialisiserung erstmal auf 0.
Da Du die LED wohl mit 0 schalten willst, mußt du zum Programmstart
zunächst mal die Ausgänge auf 1 setzen.

start:
ldi temp, 0xFF
out DDRB, temp
out PORTB, temp
Gast #91117
also wenn ich 0xFF auf DDRB ausgebe sind alle Pins als Ausgänge
konfiguriert. Richtig?

Aber wieso muss ich dann erstmal 0xFF auf PORTB ausgeben, um später
alles auf null zu setzen?


Gruß!
Gast #91118
Ja, soweit ok.
Da aber die Ausgänge "von Hause aus" erstmal auf 0 sind, leuchtet
Deine LEDs sofort, da diese "Low-Aktiv" geschaltet werden (wie z.B
hier im Tutorial). Das nehme ich zumindest an, da Du sie ja dann mit
 ldi temp, 0b00000000
 out PORTB, temp
nach einer Sekunde einschalten willst.
Wenn Sie zum Programmstart erstaml aus sein sollen, mußt Du sie mit dem
 Ausgeben von 0xFF ausschalten.

Das ganze Problem liegt also nicht bei Deine Zeitschleifen, die
funktionieren so. Nur Du siehst nicht das Anschalten, weil die LEDs
schon an sind.

Gruß
Ingo

Antwort schreiben

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