Forum: Mikrocontroller und Digitale Elektronik Ausgangsspannung am Port bricht zusammen


von Daniel (Gast)


Lesenswert?

Leute ich stehe vor dem Dilemma.
Habe verschiedene Ausgangsspannungen an demselben Pin1 bei meinem Mega 
88.
Die Versorgungsspannung liegt bei 5,0 V.
Wenn ich Folgendes nehme:
1
int main()
2
{
3
   DDRB|=(1<<PB1);
4
   while(1)
5
   {
6
      PORTB|=(1<<PB1);
7
   }
8
}
Dann messe ich am Ausgangspin 1 eine Spannung von 4,5 V.

Wenn ich dasselbe mit der Tastenabfrage kombiniere, sieht es anders aus:
1
int main()
2
{
3
   DDRB|=(1<<PB1);
4
   whiel(1)
5
   {
6
      if(PINB&(1<<PB3))
7
      {
8
         PORTB|=(1<<PB1);
9
      }
10
   }
11
}
Jetzt messe ich an dem Pin 1 nur eine Spannung von 0,8 V als 
Logisch-High, wenn ich die Taste betätige.
Ich muss sagen der Pin ist nicht belastet und es gibt keine anderen 
Verbraucher die dem Controller belasten könnten.
Wer kennt ne Antwort.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

whiel(1)

...kann schon mal gar nicht funktionieren (schlecht abgetippt)!

Ausserdem setzt du in deinem Beispiel (anders kann man das nicht nennen) 
den Pin nie auf low.

Zeige mal deinen echten Code, der nicht funktionieren soll.

Gruß,
Magnetus

von Lehrmann M. (ubimbo)


Lesenswert?

Servus,

bitte bitte tue dir den Gefallen und lerne Grundlagen:

http://www.mikrocontroller.net/articles/AVR-Tutorial
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Achja du brauchst die Grundlagen - du bist gerade etwas auf dem Holzweg. 
Glaube bitte nicht, dass du das nicht brauchst ... Anfängerfehler ...

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.