8bit fast PWM beenden

OP #2026240
Lesenswert?
• ▲
▼
Morgen @ll!

Ich habe an einen Attiny2313 am Pin P3 und P4 eine Duo-LED hängen
die ich zwecks Anzeigefunktion mit Timer1 8bit fast PWM betreibe.
Nach einer PWM Sequenz (aufdimmen - abdimmen) soll sie dann kurz noch 
2mal nacheinander aufblinken.
Die Pwm Sequenz funktioniert, nur das blinken nicht.
Scheint mir als wären die 2 Pins nicht richtig zurückgesetzt.

Programmiert habe ich das ganze in C.
Nun zu meiner Frage ob das so richtig ist damit ich die Pins wieder ganz 
normal verwenden kann muß ich doch nur Bits des Timer1 so zurücksetzten 
oder ?

TCCR1A = ~(1<<COM1A1) | ~(1<<COM1B1);

vielen dank ...lg
OP #2026375
Lesenswert?
• ▲
▼
Ziegenpeter schrieb:
> Ne, mit der Methode würdest du alle Bits setzen, eher so:
>
> TCCR1A &= ~((1<<COM1A1) | (1<<COM1B1));

aha...danke, ich programmiere in C noch ned lange. Habe bisher immer
alles in Bascom gemacht.
Irgendwie ist das hier schon verwirrend.
Setzen kann ich so -

TCCR1A = (1<<COM1A1) | (1<<COM1B1)....usw. da brauch ich das (" |= ") 
nicht, da reicht ein " = " ) und beim löschen muß ich das (" &= ") 
verwenden ?
hmm.....
#2026394
Lesenswert?
• ▲
▼
Reinhard Schopf schrieb:

> TCCR1A = (1<<COM1A1) | (1<<COM1B1)....usw. da brauch ich das (" |= ")
> nicht, da reicht ein " = " ) und beim löschen muß ich das (" &= ")
> verwenden ?
> hmm.....

Bitmanipulation


und dann einfach mal darüber nachdenken, was die binären Operatoren ODER 
bzw. UND auf Bitebene machen. Ein paar Beispiele durchspielen und 
irgendwann macht es klick.

Und dann ist es für dich genauso natürlich, wie es für einen 
Autolackierer ganz natürlich ist, dass er alles was er nicht lackieren 
will mit einer Maske abdeckt und über die dann noch freiligenden Stellen 
mit Schwarz (oder Weiß) drübersprüht.

Und genauso wie es bei der Maske 2 Möglichkeiten gibt
* entweder man benutzt den Kreis den man aus Papier ausgeschnitten hat
* oder man benutzt das Papier aus dem man den Kreis ausgeschnitten hat
genauso gibt es auch hier 2 Möglichkeiten, je nachdem welche Bits 
geschützt (sich nicht verändern) sollen.
Nur dass wir nicht wahlweise Schwarz oder Weiß sprühen können sondern in 
einem Fall nur Schwarz und im anderen Fall nur Weiß.
Aber damit kann man leben, weil man mit der richtigen Reihenfolge alles 
hinkriegt.

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.