Peter Flueury's LCD lib toggelt mir falsche Pins

Gast #3638779
Lesenswert?
• ▲
▼
In meiner Main schreibe ich ständig etwas auf meinen LCD raus...
in einer Timer ISR toggle ich eine Pin mit PORTB^=(1<<LED);.

Die LED hängt auf dem selben Port wie die DB7-DB4 lines.

Das Problem ist, das die LED eigentlich im Sekundentakt blinken sollte, 
toggelt aber random manchmal bis zu 3 Sekunden nicht.

Wenn ich es auf einen anderen Port probiere, die LED zu toggeln 
funktioniert es einwandfrei.

Ich habe mir das ganze mal mit dem Oszi angesehen und bemerkt, das wenn 
sie getoggelt wird, sofort wieder zurückgetoggelt wird. Sprich einen 
kurzen Spike.

Ich hoffe mir kann jemand helfen, verzweifle hier.
Gast #3638946
Lesenswert?
• ▲
▼
peter schrieb:
> Ich hoffe mir kann jemand helfen, verzweifle hier.

Versuche es doch zu allererst einmal, den Code den du von jemand anderem 
hast, wirklich verstehen zu lernen. Dann wirst du auch irgendwann 
verstehen, warum das so ist wie es ist. Vielleicht wirst du dann auch 
irgendwann mal ein Gefühl dafür bekommen, was man denn so in einer 
Interrupt-Routine sinnvollerweise tun und unterlassen sollte und wie 
man solche Dinge wie das Synchronisieren von Informationen zwischen zwei 
voneinander unabhängigen Programmabläufen (hier: Grundprogramm und 
Interruptprogramm) hinbekommt.

W.S.

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.