Gast
#609360
Moin! PORTx ist für die Pull-Up-Widerstände bei als Eingang geschalteten Pins zuständig, der Pegel über PINx geregelt. Bei Ausgängen nimmt man dann PORTx. Das war mir bislang nicht bewusst, ich habe immer PINx verwendet, und das hat auch funktioniert. Gestern hatte ich allerdings das Problem, dass ich einen als Ausgang geschalteten Pin (D6 am tiny2313) per PIND gesetzt habe. Es sollte damit ein Relais gesteuert werden. Wir haben dann irgendwann gemerkt, dass das Relais brummt, also ständig toggelt (per Oszi überprüft). Nachdem wir den Quellcode nach und nach bis auf die Zeile
1 | |
2 | |
3 | |
reduziert hatten, war klar, wo der Fehler liegt. Nach entsprechender Internet-Recherche bin ich dann darauf gestoßen, dass hier PORTD verwendet werden muss. Meine Frage ist: Was passiert denn hier? Welche Funktion hat PINx, wenn der Zielpin als Ausgang gesetzt ist? Wäre klasse, wenn mir das jemand erklären könnte. Gruß Matze