Externe Logik durch interne Logik ersetzen?

Gast #136749
Lesenswert?
• ▲
▼
Hallo Leute,

ich nutze einen PIC (16F628/04P) mit internem Oszillator und PWM.

Nun möchte ich eine Motorbrücke ansteuern, die jedoch für jede Richtung
ein PWM haben will, d.h. Eingang1 für links-, Eingang2 für
rechtsdrehen.

Okay, ich kann nun mit externer TTL oder CMOS-Logik die PWM-Daten mit
ein oder mehreren Steuerpins des PIC verschalten um das Ergebnis zu
bekommen, jedoch habe ich nicht soviel Platz dafür.

Ich habe nun versucht, den PWM wieder auf einen Eingang (hier: RA2) zu
legen und diesen dann über eine Schleife entsprechend zu verarbeiten.

Leider ist die Ausgabe sehr schlecht, es wird irgendwas ausgegeben,
aber nicht das, was der PWM ausspuckt, der läuft mit einer
Basisfrequenz von ca. 20 kHz, das sollte eine genug kleine Schleife (<
50 Befehle) problemlos schaffen, jedoch kommt nur Quark raus.

Hat jemand von euch vielleicht eine Idee, wie ich das Problem am
elegantesten lösen kann?
Auf den PWM möchte ich eigentlich nicht verzichten, da das Programm
sehr asynchron läuft (serielle Schnittstelle wird nicht
mitverarbeitet).

Dankeschön,

Grüßle,

Erik

P.S. Hier der Code, der den Pin liest und den Ausgang ansteuert:

btfss  PORTA,2
bcf  PORTA,7
btfsc  PORTA,2
bsf  PORTA,7

soll ich vielleicht schon hier was ändern?

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.