Acquisition sur LPT1 ?

Acquisition sur LPT1 ? - Programmation

Marsh Posté le 29-07-2002 à 09:38:48    

Voilà, j'ai réalisé un montage qui encode certains signaux analogiques en numérique via un convertisseur 8 bit.  
Ce que je voudrais, c'est Pouvoir faire une acquisition de ce qui sort de ce circuit (les 8 bits) et m'en servir en les envoyant sur un PC via le port LPT1.  
J'ai juste un gros problème, je ne connnais rien de rien à la programmation et je cherche si il existerait un programme tout gentil qui pourrait relever pour moi ces valeurs 1 ou 0 en fonction du temps. Le prog. n'aurait qu'a compter des 1 ou des zeros. Existe-t-il un programme déja fait qui correspondrait à cela ? ESt-ce dur à créer ?  
Merci d'avance.  
 
PS : désolé, vous trouverez aussi ce post dans hardware, mais c'est assez pressé.

Reply

Marsh Posté le 29-07-2002 à 09:38:48   

Reply

Marsh Posté le 29-07-2002 à 10:24:21    

puting, c balez ton truc...
j'peu te faire qu'un petit up

Reply

Marsh Posté le 29-07-2002 à 13:55:39    

Si c'est sous DOS (:)), ça se trouve (je regarde ce soir dans livre ELEKTOR sur les interfaces pr PC).
 
Sinon, cf, à tout hasard,
http://www.lvr.com/parport.htm
et/ou
http://www.beyondlogic.org/porttalk/porttalk.htm
+ ceux qui vont suivre (si tout le monde n'est pas en congés).
 

Reply

Marsh Posté le 30-07-2002 à 09:15:49    

OS : win98 & XP aussi. DOS, si celui de windows suffit ...
disons, que je veux exploiter les données après donc sous dos c'est pê un peu moins simple mais bon ...  

Reply

Marsh Posté le 30-07-2002 à 12:43:08    

Une recette BASIC sous DOS pur (jusqu'à 6.22, sous Win3.11, ça marche encore, après ça doit être interdit par le système pour des raisons d'architecture soft et de sécurité) issue d'une revue intéressante : Computers in Physics, vol 8, n°1, Jan/Feb 1994 p45 à 51. Computers in Chemistry est pas mal non plus :D.
 
def seg = &H0040
 
y% = 256 * peek(&H09) + peek(&H08)
dport% = y%
sport% = y% +1
cport% = y% +2
dport% est l'adresse du Data port
sport% l'adresse où on peut lire le status
cport% le control port.
 
Par out dport%, n%, on envoie l'octet n% sur le port DATA (les 8 fils du port Centronics, s'il est "bidirectionnel" ).
 
Par a% = inp(dport%), on lit les 8 fils d'un coup et le résultat est dans a%.
 
NB :  
Control port : y a fil (Centronics/DB25) 1 /1: STROBE, 14/14 : AutoFeed, 31/16 : Initiate, 36/37 SLCT_IN
Status Port : 10/10 : ACK, 11/11 : Busy, 12/12 : Paper End, 13/13 : Select, 32/15 : Error.

Reply

Marsh Posté le 30-07-2002 à 13:03:13    

j'ai fait un programme qui fait exactement l'inverse en C++...
 
 
 
 
 
 
dommage :D
 
 
 
bon ok c'était un xtra pour director qui balançait juste des DATAs sur le port LPT, le truc en fonction du temps était géré par director, m'enfin...


Message édité par duch le 30-07-2002 à 13:04:50
Reply

Marsh Posté le 30-07-2002 à 13:44:11    

salut. voila une adresse ou tu trouvera un prog de lecture du port lpt. Il y a un prog windows et en dernier un prog simple en C. Ce dernier devrais t'etre utilse. je m'en suis servi il y a 3 ans pour faire un lecteur de carte de telephone. Je recupérais le numéro de serie et ca servait de clé pour identifier un utilisateur d'un mini-serveur ftp. Ca marchait impec.
 
http://col2000.free.fr/telecart/index.htm

Reply

Marsh Posté le 01-08-2002 à 11:01:37    

Cool, je vais essayer ... Si d'autres ont de bonnes idées, qu'ils n'hésitent pas.

Reply

Marsh Posté le 05-08-2002 à 06:16:32    

Haaa ... j'arrive pas à faire marcher ce prog avec WinXP PRo ... J'ai beau respecter la procédure d'installation des pilotes, il me renvoie systématiquement un message de port reservé ! Je vais réssayer sur un autre PC ... , parce que, sous DOS, il faudrait un prog qui vire toutes les infos dans un fichier texte ou idem afin de pouvoir les réexploiter avec Excel par exemple.  

Reply

Marsh Posté le 05-08-2002 à 12:30:02    

c'est normal, il faut que l'administrateur (toi) te file les droits d'ouverture du port. Je sais pas ce que le gars dans mo école avait fait, mais apres ca marchait.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed