Hallo,
ich bin recht neu dabei und verstehe nicht warum ich keine internen pull up Wiederstaede aktivieren kann. Ich habe 2 Programme geschieben eins in C und das andere in Basic. Meines Erachtens gleichen sie sich, aber sie tuen nicht dasselbe.
Ziel: 
  portb pin0 = ausgang (LED) (HIGH = AN)
  portb pin1 = eingang (Schalter) (HIGH = Schalter - offen)
Mein Basic Programm funktioniert (LED flakert nicht, pull up aktiv),
alles wunderbar.
	Code:
	Ddrb = &B00000001
Portb = &B00000010
Do
  If Pinb.1 = 0 Then
    Portb.0 = 1
  Else
    Portb.0 = 0
  End If
Loop
End
 Aber mein C Programm aktiviert sie einfach nicht!
	Code:
	#include <avr/io.h>
int main (void) {
  DDRB = 0x01;
  PORTB = 0x02;                           // GEHT NET =(
  while (1) {
    if ( (PINB & 0x02) == 0x00 )
       PORTB = 0x01;
    else
       PORTB = 0x00;
   }
}
 Kann sich das einer erklaeren? Ich nicht!   
  
  
 
Uebrigens ist das Basic Programm auf XP uebersetzt worden (Bascom), wobei ich C unter Linux benutze (avr-gcc, avrdude).
Danke im Voraus.
mfg
martin
						
					
Lesezeichen