Forum: Mikrocontroller und Digitale Elektronik Abfrage von PINC ergibt high - obwohl kein Signal anliegt


von Thomas H. (Gast)



Lesenswert?

Hallo,

beim Durchlaufen der folgenden Schleife springt er mir immer wieder nur 
in menu_ok obwohl definitiv kein Signal da ist.

Ich habe alle 4 Pins gleich angeschlossen: Widerstand 10k zwischen Pin 
und Vcc und Taster zwischen GND und Pin.

Alle Ports habe ich als Eingaenge deklariert.

Obwohl alle Pins gleich angeschlossen sind, gibt es nur bei PINC2 einen 
SUB-Aufruf obwohl Taster auf Off. Kommentiere ich die zwei Zeilen aus, 
funktioniert alles wie gewuenscht.

main:

  sbic  PINC, 3
  rcall  menu_esc

  sbic  PINC, 2
  rcall  menu_ok

  sbic  PINC, 1
  rcall  menu_minus

  sbic  PINC, 0
  rcall  menu_plus

  rcall  menu_lcd

rjmp  main


Wer hat da eine Idee, woran das liegen kann!?

Viele Gruesse,

Thomas H.

von A.Füßer (Gast)


Lesenswert?

Wenn der Taster nicht gedrückt ist, sollte High-Pegel anliegen (a 
propos: du kannst auch die internen Pullups aktivieren und die externen 
sparen). sbic überspringt den Unterprogrammaufruf, wenn gelesener 
Pegel GND ist. Also sollte jedes Unterprogramm der Reihe nach 
aufgerufen werden, da alle high.
Hast du bisher nur "menu_ok" mit Code befüllt, und deshalb fällt dir nur 
dieser Aufruf auf?
Oder benutzt du einen AVR mit ADC, bei dem du die AVCC-VCC, AGND-GND und 
AREF-(VCC) Verbindungen vergessen hast?

André.

--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN

von Thomas H. (Gast)


Lesenswert?

Hallo André,

ich habe jetzt noch gemerkt, dass es eigentlich bei jedem Sub 
einspringt. Allerdings hat das nur bei menu_ok Konsequenzen. Ich habe 
glaube cih sbic und sbis verwechselt.

Aber etwas naderes: wir kann ich die internen Pull-ups aktivieren?

Ade,

Thomas H.

von A.Füßer (Gast)


Lesenswert?

Weil ich nicht weiß welchen AVR du verwendest schlag ich mal 
exemplarisch für den 8515 nach. (Gilt aber für alle anderen auch):

Datenblatt auf S. 71; Tabelle 22:
DDCn muss 0 sein, PORTCn muss 1 sein -> int. Pullup aktiviert.

Also die Bits entsprechend setzen und die externen Pullups ausbauen.

André.

--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN

von Thomas H. (Gast)


Lesenswert?

Hallo Andrè.

alles klar und danke,

Thomas H.

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.