Hallo. Sobald ich den ATMEL ATtiny84 programmiere und im Anschluss Pin4(PB3) als Eingang mit einem 10k-PullDown belege, funktioniert das Programm/die Schaltung nicht. Wenn statt BP3, PB1 als Eingang verwendet wird, funktioniert alles prima. Ich nutze den ISP-Programmer mit einer Kontakt-Klammer (on-the-fly), innerhalb der aufgebauten Schaltung. Während der Programmierung wird Pin4 als "/Reset" genutzt und lässt jetzt keinen PullDown-Wid zu (Programmierabbruch, Fehlermeldung). PS: Bitte keine Debatte über den Sinn von "aktiv-high".
Hallo, PB3 ist im Lieferzustand der Reset-Pin. Wenn da 10k gegen GND dran sind ist der AVR eben im Reset. Man kann PB3 als PortPin, Reset-pin oder debugWire-Pin benutzen. Das wird mit den Fusebits festgelegt. Wenn PB3 nicht mehr als Reset programmiert ist kann man den Tiny84 nur mit HV-Serial-Programming neu programmieren, der normale ISP-Programmer geht wegen fehlendem Reset-Pin NICHT mehr. Gruß aus Berlin Michael
Michael U. schrieb: > Man kann PB3 als PortPin, Reset-pin oder debugWire-Pin benutzen. Das > wird mit den Fusebits festgelegt. Die definition von PB3, als I/O-Eingang/Ausgang bestimme ich z.B. über DDRB &= ~(1<<PB3); Wesshalb reicht das nicht? Mit "Fusebit" habe ich mich noch nicht beschäftigt. Bis dahin werde ich erst einmal Pin4/PB3 unbenutz lassen.
Gast
#5403056
> Wesshalb reicht das nicht?
Weil PB3 per default kein I/O Pin ist, sondern ein Reset Pin. Stelle Dir
die Wirkung der Fuse wie einen Jumper vor:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Hallo, __Son´s B. schrieb: > Die definition von PB3, als I/O-Eingang/Ausgang bestimme ich z.B. über > DDRB &= ~(1<<PB3); > Wesshalb reicht das nicht? Da sollstest Du Dich doch etwas intensiver mit dem Datenblatt, spzeille den Portfunktionen, befassen. Solange der Pin PB3 per Fusebit als Reset festgelegt ist, isr er Reset. Die Verbindung wird sozusagen intern umgeschaltet und er ist nicht mit den Portregistern verbunden. Man kann ihn nicht per Programm sozusagen wahlweise als Reset oder als I/O benutzen. Das ist bei den kleinen AVR nur eine Option ein I/O-Pin mehr zur Verfügung zu haben, wenn man entweder nie mehr was am Programm ändern will oder eben einen HV-fähigen Programmieradapter hat. Man kann die Umstellung mit einem üblichen ISP-Programmer NICHT mehr rückgängig machen. Gruß aus Berlin Michael
Du musst in das Datenblatt schauen. Direkt zu Beginn bei der Pin Konfiguration. Auszug:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
Aber denk dran, nutzt du ihn als Eingang, dann kannst du den Attiny mit einem ISP Programmer nicht mehr programmieren. Ich habe bislang nie den Resetpin als Eingang nutzen müssen. Meine Standardschaltung ist immer Pullup am Reset und gut ist.
DANKE, für die konstruktiven Anregungen!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.