Πρόσβαση στην παράλληλη θύρα

Chameleon cham_gss at hotmail.com
Fri Apr 28 00:54:38 EEST 2006


Έχουμε φτιάξει ένα CNC μηχάνημα το οποίο το χειριζόμαστε μέσω παράλληλης 
θύρας.

Δυστηχώς είμαστε εντελώς άσχετοι στο να φτιάξουμε ένα driver για Windows 
κι έτσι τη χειριζόμαστε μέσω των εντολών assembly IN και OUT από DOS.

Επειδή το DOS είναι λίγο deprecated πλέον, (για να μην πω και η 
παράλληλη θύρα) αποφασίσαμε να κάνουμε τον driver σε ένα ζωντανό 
λειτουργικό που είναι ή τα Windows ή το Linux.

Η γενική ιδέα οτι όλες οι συσκευές είναι αρχεία και μπορούμε να γράφουμε 
και να διαβάζουμε απο αυτές μας ενθουσίασε. Αποφασίσαμε λοιπόν Linux. 
(Αλλωστε δεν χρειάζεται να ξέρουμε και πολλά. Ξέρουμε SDL, wxWidgets, 
C++ αυτά φτάνουν, συν οτι μαθαίνω Qt)

Επειδή είδα οτι πολλοί ξέρουν να προγραμματίζουν εδώ μέσα σε Linux, θα 
παρακαλούσα αν κάποιος ξέρει να μου πει τι πρέπει να κάνω για να στέλνω 
με μια δειγματοληψία *ακριβώς* 50000bytes/sec στην παράλληλη θύρα.

Θα έκανα μάλιστα και τούμπες αν κάποιος μου έγραφε ένα κομμάτι κώδικα 
που να στέλνει τα byte από 0x00 μέχρι 0xff στην παράλληλη θύρα.

Τώρα αν το *ακριβώς* δεν ειναι εφικτό (υποθέτω οτι πρέπει να οριστεί το 
πρόγραμμα ως time critical; υπάρχει σε linux configuration που να δίνει 
προτεραιότητες σε events;) απλά θα βάλουμε μία μνήμη στο CNC μηχάνημα ως 
buffer και το CNC θα τα "ρουφάει" από εκεί ενώ η μνήμη με 
microcontroller θα τα "ρουφάει" από την παράλληλη. Οπότε πάλι, αν δεν 
καταφέρουμε το *ακριβώς* και το περίπου δεν μας χαλάει. Απλά είναι πιο 
  ...ακριβό.

Α! ξέχασα! Πρέπει να είμαι root για να έχω πρόσβαση στη παράλληλη ή και 
απλός χρήστης δεν πειράζει;

Υποθέτω οτι αν υπαρχει παράλληλη στο pc υπάρχει ένα device αρχείο με 
όνομα π.χ. parallel; Αν το αρχείο δηλαδή δεν υπάρχει πάει να πει οτι δεν 
υπάρχει παράλληλη θύρα;

ΕΥΧΑΡΙΣΤΩ ΟΣΟ ΔΕ ΦΑΝΤΑΖΕΣΤΕ



More information about the Linux-greek-users mailing list