Forum: Mikrocontroller und Digitale Elektronik Probleme mit Attiny45


von Mike M. (mikeii)


Lesenswert?

Hallo, kann mir bitte jemand erklären warum der Attiny nicht das macht 
was ich will?

In der Main habe ich geschrieben:

    DDRB = 0b00111110;


    PORTB = 0b00000001;

Das heißt er müsste eigentlich 5 Ausgänge setzten und beim 
übrigebliebenen Ausgang einen Pullup einschalten.

Komischerweiße ist deiner der Ausgänge einfach auf high, und ich weiß 
nicht warum.

Und dann hab ich noch eine Frage:
Kann der kleine SMD Attiny45 keine smd LED's mit ausreichen Strom 
versorgen? Muss ich unbedingt einen Transitor vorschalten? Ist im 
Datenblatt nicht 40mA als Maximum angegeben? Meine SMD LED braucht mit 
Vorwiderstand grade mal 17mA


Danke
Gruß

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Welcher Ausgang ist denn auf high?

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Leuchtdioden kann der Attiny45 bis 40 mA ohne Transistoren trieben.

Grüße,

Peter

von Mike M. (mikeii)


Lesenswert?

PB5 ist auf High.

Ich hab jetz nur mal alles auf Ausgang gesetzt, aber trotzdem ist PB5 
auf high!

von Peter D. (pdiener) Benutzerseite


Lesenswert?

PB5 ist der Resetpin. Damit der ein GPIO wird, muss die Fuse RSTDISBL 
programmiert werden. Ist das richtig eingestellt?
Achtung: SPI-Programmierung funktioniert danach nicht mehr. Nur noch 
High-Voltage-Programmierung.

Grüße,

Peter

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Und: PB5 ist ein "weak-pin", der kann nur relativ wenig Strom treiben. 
Siehe Seite 189 im Datenblatt (Figure 22-24).

Edit:
--- Reset ist ein "weak-pin"
+++ PB5 ist ein "weak-pin"

von Mike M. (mikeii)


Lesenswert?

Ah ok, gut das zu wissen.

Dann kann ich PB5 als Eingang verwenden (active Low), und PB0 als 
Ausgang? (Im Moment ist es anderstrum).
Würde das so funktionieren?

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Ja.

von Peter D. (peda)


Lesenswert?

Mike Mike schrieb:
> Ah ok, gut das zu wissen.
>
> Dann kann ich PB5 als Eingang verwenden (active Low), und PB0 als
> Ausgang? (Im Moment ist es anderstrum).
> Würde das so funktionieren?

Nur, wenn Du die Reset-Fuse setzt und damit SPI/DW disablest.
D.h. danach ist nur HV-Programmierung oder Bootloader möglich.


Peter

von Mike M. (mikeii)


Lesenswert?

Ach dieses blöde Tinyding, ich hab den jetz durch nen Atmega8535 
ersetzt. Der is zwar doppelt so groß (SMD), aber er läuft wenigstens auf 
anhieb.

Was ich mich nur frage, wenn ich den Timer 2 im PWM Modus laufen lasse 
und OCR2 aud 0x00 setzte, kann ich immernoch winzige highpegel aufm Oszi 
erkennen. Gibts keine möglichkeit zu sagen, das der Außgang komplett 
auch low ist?

Danke

Gruß Mike

von Mike M. (mikeii)


Lesenswert?

Hat sich schon erledigt, hab einfach noch das bit Com20 gesetzt und das 
PWM Signal invertiert,und alle vergleichswerte getauscht.

Jetz läuft alles.

Danke :)

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.