Forum: Mikrocontroller und Digitale Elektronik Simples Blinken mit RGB Led


von Fred (Gast)


Lesenswert?

Ich benutze einen Attiny 44 mit 5V über einen Programmer.
Mein Versuchsaufbau besteht nur mal darin eine RGB-LED zu testen.
Es handelt sich um eine Kingbright mit 2 x Blau, 1 x rot und 1x Grün, 2x 
GND.

Testhalber habe ich im moment nur 2 der 4 LED's angeschlossen. Bei 
beiden Pins (PA1 und PA2) ist jeweils ein 1K Widerstand vorhanden.
Beide sollen einfach nur blinken.
Das blaue (PA1) blinkt ohne probleme, das Rote (PA2) ist einfach nur an 
und blinkt nicht.

Hier einmal der Sourcecode:

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
  DDRA = (1 << PA1) | (1 << PA2);
    while(1)
    {
     PORTA |= (1 << PA1) | (1 << PA2);  // LED's leuchten
     _delay_ms(500);    // eine halbe Sekunde warten

     PORTA &= ~(1 << PA1) | (1 << PA2); // LED's aus
     _delay_ms(500);    // eine halbe Sekunde warten
    }
}

von hp-freund (Gast)


Lesenswert?

Fred schrieb:
> PORTA &= ~(1 << PA1) | (1 << PA2); // LED's aus

Sieht falsch aus.

von Cyblord -. (cyblord)


Lesenswert?

hp-freund schrieb:
> Fred schrieb:
>> PORTA &= ~(1 << PA1) | (1 << PA2); // LED's aus
>
> Sieht falsch aus.

Wie kommst du darauf? Das ist genau richtig. So löscht man Bits.

gruß cyblord

von MyName (Gast)


Lesenswert?

Ich denke es liegt an ner fehlenden Klammer.
Mach mal noch ne Klammer drum:
1
PORTA &= ~( (1 << PA1) | (1 << PA2) ); // LED's aus

von hp-freund (Gast)


Lesenswert?

genau

von N. T. (fox13)


Lesenswert?

Hey Fred!

> Beide sollen einfach nur blinken.

Für das Blinken würde ich es mit einer EXOR - Verknüpfung versuchen.

PORTA ^= ....

von Fred (Gast)


Lesenswert?

Ja, stimmt.. Es lag an der fehlenden Klammer..
Danke.

von spess53 (Gast)


Lesenswert?

Hi

>Für das Blinken würde ich es mit einer EXOR - Verknüpfung versuchen.
>PORTA ^= ....

Beim ATTiny44 geht auch:  PINA=...

MfG Spess

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.