Forum: Gesperrte Threads Anfängerfrage


von Unitled (Gast)


Lesenswert?

Hallo
Ich versuche vergeblich mit einem AVR LEDs anzuschalten, wenn ein 
Schalter gedrückt wird.
1
#include <avr/io.h> 
2
3
int main (void)
4
{
5
DDRB  = 0b00111110;  //PIN 5,4,3,2,1 = out; PIN 0 = in
6
PORTB = 0b00000001;  //PIN 5,4,3,2,1 = low; PIN 0 = Pullup
7
  if (PINB0==0)  // Wenn PIN0 low gezogen wird...
8
  {
9
  PORTB = 0b11111111;  //...gehen alle Ausgänge auf high
10
  }
11
while (1)  //Endlosschleife
12
{
13
}
14
return (0); //wegen dem C Standard
15
}

Build succeeded with 0 Warnings...

...funktioniert trotzdem irgendiwe nicht. Die LEDs leuchten sofort beim 
Einschalten des AVR.

Bin für jede Hilfe dankbar.
MfG

von Uwe .. (uwegw)


Lesenswert?

PINB0 ist auch als 0 definiert! Lies noch mal im Tutorial nach, wie das 
mit dem Abfragen von Eingängen funktioniert...

von Bastler (Gast)


Lesenswert?

Du musst die Register in der anderen Reihenfolge beschreiben. Ansonsten 
richtig. Steht glaube ich auch was zu im Tutorial. Viel Spa´ß!

von Bastler (Gast)


Lesenswert?

So, ist total versteckt:

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Ausg.C3.A4nge

Gegen Ende des Absatzes.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.