Probleme mit Eingängen

#1150069
Lesenswert?

Hallo, kann jemand mal schnell über den Code drüberschauen?
Ich wollte eigentlich nur ein Eingang abfragen und solange einen Ausgang 
setzen. Was ist falsch?
1
#include <avr/io.h>       
2
 
3
int main (void) {          
4
 
5
   DDRB  = 0b11111110;       // Pin 0 ->Eingang, Pin 1 -> Ausgang
6
   PORTB = 0b00000001;       // Pull-up Widerstand für Pin 0 aktivieren
7
 
8
   while(1) {   
9
    if ( !(PINB & (1<<PINB0)) )             //wenn PB0 0 ist if-Anweisung ausfuehren
10
      {  PORTB |= (1<<PB1);                // Ausgang Port B Pin 1 setzen
11
      }    
12
    if  (PINB & (1<<PINB0))                //wenn PB0 1 ist if-Anweisung ausfuehren
13
      {  PORTB &= ~(1<<PB1);               // Ausgang Port B Pin 1 löschen
14
      } 
15
            
16
   }                   
17
  
18
   return 0;               
19
}
#1150278
Lesenswert?

Tag

Dein Problem ist, dass Windows meint, am Parallelport den Pin, der 
normalerweise für die Resetleitung verwendet wird setzen zu müssen, da 
ja laut Microsoft nur Drucker an diese Schnittstelle angeschlossen 
werden und der initialisiert werden muß.

Dieses Problem habe ich einfach gelöst indem ich mit einem 
Wechselschalter die beiden Enablepins des 74HCT244 im Programmieradapter 
auf high lege um ihn nach dem Programmieren zu deaktivieren.

Bei der "nur Widerstandsversion" reicht es die Reset-Leitung mittels 
Schalter wegzuschalten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren