Schalter an XTAL1+2 möglich?

Gast #268358
Lesenswert?
• ▲
▼
Ich habe Probleme mit meinem ATMEGA8. Ich habe zwei Schalter an XTAL1+2
über 4,7k(+5V) angeschlossen. Interner Oszillator ist auf 8MHz
gestellt. Es ist also kein externer Oszi vorhanden und laut Datenblatt
kann man die freien Ports(PB6+PB7) dann auch als I/O Pins nutzen. Es
liegen definitiv 5V an den beiden Pins bei geöffnetem Schalter.
Allerdings tritt in meiner Software folgendes Problem auf:

//FuseBits: 0xD984

DDRB=0b00111111; //7..6 Eingang, 5..0 Ausgang
PORTB=0b11111111;//Pull-Up aktivieren
x=PORTB&11000000;//Maskierung der beiden SChalter

while(x!=0){...// ! Hier ist das Problem!

Normalerweise sollte die SChleife solange ausgeführt werden bis beide
Schalter gleichzeitig gedrückt werden und PB7+6 auf Masse(0)ziehen. Aus
irgendwelchen Gründen bricht er die Schleife aber sofort ab, was
bedeutet, dass der µP PB7+6 schon als 0 deutet obwohl High-Pegel
anliegt.
Kann mir da jemand weiter helfen oder hat jemand ähliche Probleme mit
Schaltern an Xtal gehabt? Muss man vielleicht noch andere Register
(de)aktivieren?
Danke schon mal für die Antworten!
Gast #268362
Lesenswert?
• ▲
▼
Das gleiche kann ich doch auch mit Einlesen von PORTB tun, tut mit leid,
aber ich seh immer noch nicht den Unterschied zwischen PINB nd PORTB.
Und das Programm läuft auch nicht, wenn ich PINB in die while-Schleife
einfüge. Hab ich gerade ausprobiert...
Gast #268363
Lesenswert?
• ▲
▼
Entschuldigung, kleiner Eingabefehler von mir. Maskierung mit PINB
funktioniert jetzt. Vielen Dank für den Tip. Ist mir nur schleierhaft,
warum das mit PORTB nicht geklappt hat, weil ich sonst in meinen
Programmen immer so gearbeitet habe
Gast #268365
Lesenswert?
• ▲
▼
Wird auch nie laufen, wenn Du PINB mit Elf-Millionen verUNDest ...

> aber ich seh immer noch nicht den Unterschied zwischen PINB nd
> PORTB.

Entweder Dirk und Werner glauben oder im selber sehen - im datenblatt.

Gruß, Stefan

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.