www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Assembler Fehlersuche


Autor: Malte Struebert (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine kleine Schaltung entworfen die mit über einen Transistor
ein Magnetventil ein und ausschalten soll.

Jetzt hab ich das problem wenn ich das Programm laufen lasse das sich
das Ventil nicht einschaltet.

Ansich funktioniert die Transistorschaltung schon, es muss also ein
Programmfehler sein.

Bei Bedarf poste ich gern noch den Schaltplan.

Könnte da mal ein Assembler spezialist drüberschauen und gucken ob ich
was vergessen (falschgemacht) hab, hab lange kein ASM mehr
programmiert.

Gruß
Malte.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst das doch bequem mit dem AVR Studio durchsteppen.

Autor: Malte Struebert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also ich bin das ganze mal durchgegangen aber irgendwie tuts nicht so
ganz das was es soll... Der Timer wird zwar ausgeführt, aber wenn ich
mir im Debugger den inhalt von PORTB ansehe dann wird der dauernd
verändert und zwar steht da irgendwie das selbe drin wie im Timer
Register... ich kann mir das irgendwie nicht erklären deshalb ja auch
meine Frage ob irgendjemand der Ahnung hat mal drüber schauen kann.

Gruß
Malte.

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also bei mir stand nicht das drin, was im timer abläuft..

ich kenn mich zwar nicht mit tinys aus (z.b. hat mich der stack-pointer
verwundert) aber:
was soll denn das hier:
ldi switch, PINB1
ldi solenoid, PINB2

hat der tiny nicht die funktion "left adjusted"? dann wird das
ergebnis nämlich ins high-register vom adc geschrieben... weis nich, ob
tiny das kann.

kannste mal erklären was das programm machen soll?

dave

Autor: Malte Struebert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

das Programm liest die beiden spannungswerte des beiden AD Kanäle ein.
dann läuft der Timer und wenn z.B. im Kanal 1 des AD Wandlers der Wert
128 eingelesen wurde bleibt der Ausgabepin für 128xTimerZeit auf
Highpegel. Das selbe gilt dann für dei Zeit des 2. AD Kanals solange
soll der Ausgang dann auf LowPegel sein.

Das ist eigentlich schon alles.


Im prinzip n PWM Signal mit Variablem Puls-Pausen verhältniss und
Variabler Gesamtlänge.

Gruß
Malte.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.