PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Signal mit Mikrocontroller einlesen



Themistokles
10.03.2006, 16:13
Hallo,
ich möchte das Signal eines CNY37 in meinen ATMEGA16 einlesen, aber egal was ich auch versuche, es möchte mir nicht gelingen.
Kann jemand einem Anfänger erklären was er programmieren muss um etwas in den Controller zu bekommen?
Über ein paar Code-Schnipsel würde ich mich freuen, im Netz findet man fast keine Infos oder Beispielprogramme.

danke im vorraus!

Arexx-Henk
10.03.2006, 20:14
Hallo,

was ich immer vergesse ist folgendes.

Vorbild: Port D
Schreibt man ein Bit zu diesen Port dan benutzt man PORTD.
Liest man ein Bit aus diesen Port dan benutzt man PIND (!!!)

PIND gibt die richtige Wert auf die Port.
Wenn mann PORTD liest, liest mann die vorher programmierten Wert.

Vorbild: (ohne test, kein garantie ;-))

//Port PD0 ist verbunden mit CNY37 und port PD1 ist verbunden mit einem //Led.

DDRD=0x02; //bit PD0= Eingang, bit PD1 ist Ausgang

if(PIND&(1<<PD0)){ //wenn PD0 Hoch ist

PORTD|=(1<<PD1); //mach port PD1 Hoch = Led an

}
else{ //wenn PD0 Niedrich ist

PORTD&=~(1<<PD1); //mach port PD1 Niedrich = Led aus

}

Gruss

Henk

Themistokles
11.03.2006, 16:25
Vielen dank, jetzt funktioniert es! ich hatte tatsächlich versucht den Zustand mit PORT auszulesen.