Hallo, bin gerade beim Programmieren. Hierbei kam mir die Idee, einen Eingang direkt in eine Variable zu kopieren und diese Variable wieder an einem anderen Ausgang auszugeben. Weiß jemand wie dies Programmiertechnisch aussieht? Ich programmiere sonst immer PxOUT=0x.. Vielen Dank. Gruß Alexander
Hi, vielleicht könntest Du ja auch noch mitteilen, in welcher Sprache Du programmierst. Sieht nach BASIC aus, oder? Also in C würde das so aussehen: void fct(void) { int variable; variable = ~PIND; //wenn PORTD als Eingang def. ist PORTB = variable; //wenn PORTB als Ausgang def. ist }
Sieht mir nach einem MSP430 mit C aus. Ein bisschen mehr Input wäre aber hilfreich ... Und das Problem verstehe ich nicht ganz. Ist doch simpel, oder?! P1DIR=0xFF; // auf input setzen MyVar=(P1IN & BITMASK); // einlesen P1DIR=0x00; // auf output setzen (P1OUT & BITMASK)=MyVar; // ausgeben
naja, warum so kompliziert ;) unsigned char blah = 0; blah = P1IN; P2OUT = blah; der flo ;)
Wenn duunmaskiert alle 8 Bits von Port 1 an Port 2 durchgibst, solltest du aber genau wissen, was da dran hängt ...
Hi, bin Neuling und habe eine Frage zu Input/Output: Output ist doch einfach einen Port auf Low/High setzen und bei Input wird doch abgefrag ob ein Port auf Low/High liegt oder verstehe ich das falsch? dh. wenn ich einen Taster abfragen möchte, brauche ich doch nur einen Port auf Input zu setzten und den Wert an diesem Port abfragen. Wenn Taster ungedrückt ist, sollte doch an dem Port eine 1 anliegen (Pulldown) und bei gedrückter Taster 0. Ich bekomme aber gedrückt/ungedrückt immer 1 :-(
Erstens ist es unsinnig (und hier nicht gern gesehen), einen drei Jahre alten Thread wieder rauszukramen. Zweitens: Wenn Du mit AVRs arbeitest, dann hat jeder Port drei Register, und zwar: 1.: ein Datenrichtungsregister (DDRx), das (wie der Name schon vermuten lässt) die Datenrichtung definiert 2.: ein Portregister (PORTx), das den Zustand des Ausgangstreibers bestimmt 3.: ein Pinregister (PINx), das den aktuellen Zustand der Pins enthält (und bei einigen neueren AVRs auch zum Umschalten der Ausgangstreiber genutzt werden kann). Wenn das DDRx einen Pin als Ausgang definiert, dann setzt man über PORTx den Pin auf Low oder High. Ist der Pin als Eingang konfiguriert, dann definiert PORTx, ob der interne Pull-Up-Widerstand aktiviert ist oder nicht und über PINx liest man den aktuellen Zustand ein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.