Hallo zusammen, ich programmiere gerade einen ATMEL ATMEGA8 und habe ein kleines Problem mit ner Schalterabfrage. Ich habe einen Schalter an den PortB (Pin 1) angeschlossen. Laut Datenblatt besitzt der Controller einen internen Pull-Up-Widerstand. An meinen Schalter habe ich GND angeschlossen. Sobald ich also den Schalter umlege, sollte der PORTB Pin 1 auf LOW gezogen werden, was ich ja eigentlich mühelos in meiner Software abfragen kann. Das Problem ist nun, dass der Controller auf dieses Low-Signal nicht reagiert. Im Anhang liegt der Code für die Schalterabfrage. Für Hilfe wäre ich euch dankbar. Mfg Malve
Ein beliebter Fehler: beim Abfragen des Eingangs solltest Du PINB abfragen, nicht PORTB. Gruss Harry
...und die Pull Ups werden eingeschaltet, indem zuerst der Portpin auf input gesetzt wird, und dann PORTxx erst auf 1.
Hallo Harry, vielen Dank für Deine Hilfe. Funktioniert! Aber warum kann ich das nicht maskiert mit PORTB abfragen? Im Datenblatt hab ich nirgends einen Hinweis darauf gefunden. Mfg Malve
Es steht zwar was drin das das Register PINB für die Eingangsadressen des PORTB zuständig ist, aber aus der Erklärung des Datenblatts wird man nicht wirklich schlau. Trotzdem vielen Dank für Deine Hilfe. Mfg Malve
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.