Gast
#1350946
Hallo, kann jemand mal ein kleines c posten das eine LED am Parllel Port zum blinken bringt (d.h Ich möchte einfach einen Pin setzten können) mfg huGO
|
Anzeige
|
Parallel Port Pin setzten
Gast
#1350946
Hallo, kann jemand mal ein kleines c posten das eine LED am Parllel Port zum blinken bringt (d.h Ich möchte einfach einen Pin setzten können) mfg huGO
Gast
#1350950
Also ungefähr so: Set Pin1 usleep(233); Reset Pin1
Gast
#1350958
Hi Wovon redest du? PC? MfG Spess
Gast
#1350963
ja von Pc. Auf dem pc läuft linux.
Gast
#1350989
und jetzt mal bitte für Vista :-)
Gast
#1351004
Vielen Dank Niklas. Ich hab jetzt noch eine Frage, setzt du den Pin wirklich auf 1 oder schikst du daten auf den Pin?
Gast
#1351011
@huGO hmm sind "1" keine Daten... Ich denke das ist ja eher eine philosophische Frage, oder?? Nun, der Code schickt Daten an den Port, welche entweder alle Pins einschalten (0xFF) oder alle Pins abschalten (0). Man kann natürlich auch einzelne Pins schalten, z.B. mit dem Wert 8 wird der 4. Pin eingeschaltet.
Gast
#1351022
ups stimmt. der code kann aber leider nicht kompiliert werden :( folgende Fehler erscheinen:
Gast
#1351032
oh es hat ja main() gefehlt :D jetzt kommt nur noch folgender Fehler: io.c:7: error: initializer element is not constant bei folgendem Code:
Der Code ist auch nicht vollständig, da muss noch eine Funktion drumherum, z.B.:
Mit dem signal-Handler wird die Schnittstelle auch ordentlich geschlossen, wenn man Strg+C drückt. Nicht zwangsweise nötig, aber sauberer programmiert.
Gast
#1351059
Auch dieser Code funktioniert nicht :( io.c: In function 'main': io.c:14: error: 'fd' undeclared (first use in this function) io.c:14: error: (Each undeclared identifier is reported only once io.c:14: error: for each function it appears in.) io.c:18: error: 'on_sig_quit' undeclared (first use in this function) io.c:26:2: warning: no newline at end of file
Gast
#1351066
Sei so lieb und lerne ein bisschen C. Das ist nicht böß gemeint, aber die Fehler oben drin sind trivial, wenn du das Programm später erweitern willst brauchst du das Wissen:
Gast
#1351073
Und dann bitte noch sicherheitshalber ein volatile vor want_quit... Upps, vertippt :) Aber, wie kommst du auf "FILE fd"? Sollte das nicht eher "int fd = open ..." sein? FILE* braucht man doch nur bei der gepufferten Version mit fopen ?
Gast
#1351176
stimmt, hatte ich übersehen :o
Gast
#1351702
@Manuel: "\\\\.\\$VDMLPT1" hat in Win32 etwa gleiche Funktionalitaet wie /dev/parport. Wird in hamlib und xc3sprog (sourceforge) benutzt. Tschuess
Gast
#1351749
> Und dann bitte noch sicherheitshalber ein volatile vor want_quit...
Eigentlich sollte es eher vom Typ sig_atomic_t sein. Den gibt's nämlich
genau für solche Variablen.
Gast
#1351785
Rolf Magnus schrieb: >> Und dann bitte noch sicherheitshalber ein volatile vor want_quit... > > Eigentlich sollte es eher vom Typ sig_atomic_t sein. Den gibt's nämlich > genau für solche Variablen. Interessanterweise ist sig_atomic_t alleine aber nicht volatile :-) Also:
Gast
#1351809
atomic ist ja wohl etwas übertriben, bei einem int gibt es keinen ungültigen zwischenwert bei gleichzeitigen zugriff. volatil habe ich auf einem PC auch noch nie genutzt, ging bis jetzt auch immer. könnte aber daran liegen das die schleifen meist etwas mehr inhalt hatten und auf dem PC weniger Register vorhanden sind.
Gast
#1354752
hallo, ich hab jetzt mal ine dumme frage aber welcher pin wird jetzt eig. gesetzt?
Gast
#1354771
char on = 0xFF; Alle
Gast
#1357552
Peter schrieb: > atomic ist ja wohl etwas übertriben, bei einem int gibt es keinen > ungültigen zwischenwert bei gleichzeitigen zugriff. Auch wenn der int nicht korrekt aligned ist auf ner 32bit Maschine?
Gast
#1357621
> Auch wenn der int nicht korrekt aligned ist auf ner 32bit Maschine?
Wenn er das ist, ist was falsch gelaufen.
Gast
#1357783
Rolf Magnus schrieb: >> Auch wenn der int nicht korrekt aligned ist auf ner 32bit Maschine? > > Wenn er das ist, ist was falsch gelaufen. Nun ja gibt ja durchaus Architekturen die kein zwingendes Alignment voraussetzen
Gast
#1357868
Dann gibt es aber auch kein "nicht korrektes" Alignment. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|