en utilisant zlportio.sys (driver qui controle les ports).
http://www.specosoft.com
procedure zlioportread( const Type:dword ):dword;
procedure zlioportwrite( const Port,DataType,Data:dword);
function portreadb( const Port:dword ):byte;
function portreadw( const Port:dword ):word;
function portreadl( const Port:dword ):dword;
procedure portwriteb( const Port:Dword;const Data:byte );
procedure portwritew( const Port:dword;const Data:word );
procedure portwritel( const Port,Data:dword );
Examples:
// get data bits from LPT
databits := portreadb( $378 );
// set data bits from LPT
portwriteb( $378, databits )
//effacer les états des pins ou les remettres à zéro
zlportio.portwriteb($378,0);
zlportio.portwriteb($378+1,0);

tu pourra lire l'état d'une pin en entrée sur le port .(voir image)
Alors si tu met l'application en priorité( temps reel ),tu ne fera que ça lire l'état du port (la fréquence dépendra du processeur pour ralentir mettre une boucle vide for x:=1 to 1000 do for y:=1 to 10000 do ;) faudras déterminer quand ça arrêtera pour faire les autres tâches !!!
genre ...
procedure X;
var
val:Byte;
begin
zlportio.portwriteb($378+1,0);// efface
val:=zlportio.portreadb($378+1); // lis
Write(fichier?,val)...
bonne chance
yve
-------------------------------
Réponse au message :
-------------------------------
> Slt,
> ca me semble difficile mais pas inconcevable, (bonjour l'utilisation du proc ...)
> T = 1µs <=> F = 10^6Hz
> prenons un proc d'1 GHz => F > 10^9Hz mais il faut compter que le processeur, pr lire les informations effectue plusieurs instructions (bam, on divise par autant d'instructions), qu'il ne traite pas QUE ton programme (bam, encore réduire), bref, essaie mais ca va ramer a mon avis... si encore t'arrive a cette fréquence...
> ds tt les cas, je serai d'avis de voir l'asm pr ca... mais je suis pas expert, si ca se trouve je viens de poster ma plus grosse connerie :)
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour, je cherche quelqu'un qui connaisse la programmation des ports d'entrées/sorties d'un PC pour avoir plusieurs renseignements.
> >
> > Je veux faire l'acquisition de données (sur 8 bits) toutes les 1µs soit 1 million de fois/seconde. Je n'ai pas besoin que ça fasse un graphique, je veux juste que ça mette les données dans un fichier texte. Cette vitesse d'acquisition est-elle possible sous delphi? Si oui, en utlisant quel ports?
> >
> > Merci pour votre aide
> >
> > Chacks
>