Habe ein neues Problem

Gast #107443
Lesenswert?
• ▲
▼
Nabend.

Habe ein neues Problem!
Ich habe jetzt mit hilfe von Stack ein kleines Lauflicht gebaut.  Ich
möchte meine Schaltung an meine Festplatte anschließen. Habe ich auch
über einen Optokopler gemacht an dem LED Ausgang und läuft auch super.
Jetzt kommt mein Problem: Ich möchte wenn die Festplatte arbeitet das
ein Lauflicht1 läuft. Wenn die Festplatte nicht arbeitet soll
Lauflicht2 laufen! Sprich wenn normalerweise die Festplatten-LED blinkt
soll Lauflicht1 laufen und wenn sie nicht blinkt dann Lauflicht2! Bloß
wie stelle ich das an???

Chip:
AT90S2313

Programiersprache:
AVR
Gast #107447
Lesenswert?
• ▲
▼
So habe jetzt mal im Forum und bei google nach Timer geucht! Leider
versteh ich da nur Bahnhof. Zu einen wie ich den Timer Programieren
soll zu anderen wie ich den einbinden soll!
Bitte könnte mir jemand mal einen Code Posten??
Danke im Voraus
Gast #107448
Lesenswert?
• ▲
▼
Sorry,

Du hast noch nicht viel mit den AVR gemacht, oder ?
Hast du das Datenblatt zum AT90S2313.
Darin sind die Timer genau beschrieben.
Der Timer ist im Prinzip nichts anderes als ein Zähler
der mit jedem Takt des Quarzes um eins erhöht wird.

Frage ? wie konntest du ein für die Augen wahrnehmbares Lauflicht
bauen ohne die Timer zu nutzen.

Taktest du den AVR so langsam oder hast du mehrstufige Zählerschleifen
programmiert
Gast #107452
Lesenswert?
• ▲
▼
Vielleicht solltest du erstmal nen paar grundlagen machen und verstehen.
Allein Dein erstes Posting mit der Programmiersprache AVR zeugt nicht
unbedingt davon, das Du dich mit dem Thema beschäftigt hast.
Es gibt hier ein sehr gutes Tutorial. Lese, baue und verstehe erstmal
das, dann geht das mit eigenen Projekten auch viel einfacher.
Gast #107453
Lesenswert?
• ▲
▼
Nehmen wir den timer 0

er hat folgende register:

TCCR0 für die Einstellung des vorteilers
TCNT0 für den eigendlichen Zähler
und im TIFR das TOV0 Bit für die Anzeige des Überlaufs

mit:
ldi r16,0
out TCNT0,r16
kannst du den Zähler zurücksetzen
mit:
ldi r16,0b00000101
out TCCR0,r16
wir der Timer nach jedem 1024. CPU Takt um eins erhöht
mit:
in r16,TIFR
andi r16,0b00000010
breq xxxx
kannst du prüfen ob der timer von 255 auf 0 gesprunngen ist
mit:
ldi r16,0b00000010
out TIFR,r16
löschst du das TOV0-Bit wieder.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.