aide sur création/appel de fonctions
Bonjour,
J'ai fais un programme ('progdebase') avec lequel je communique avec une carte d'entrées-sorties pci. J'utilise les fonctions de la dll du constructeur pour aller écrire et lire sur le port d'adresse de ma carte. Les fonctions d'écriture et de lecture sont assez lourdes :
pour envoyer un mot à la carte : pci_do8(56444,mot à envoyer)
pour lire une valeur sur la carte : pci_di8(56444).
J'aimerais donc "transformer" pci_di8(56444) en une fonction simple 'entree'
et pci_do8(56444,mot à envoyer) en sortie(mot à envoyer). Le but serait de développez ça sur une autre unité (que j'ai appelée 'apel').
J'ai réussi à faire ma fonction sortie(i), mais je ne m'en sors pas avec la fonction d'entrée.
Pouvez-vous m'aider ?
Je vous laisse le code du programme principal et ma petite unité apel.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
program progdebase;
{$APPTYPE CONSOLE}
uses
P16R16,windows,apel;
var a,i:integer;
begin
i:=1;
repeat
sortie(i);
i:=2*i;
writeln('valeur entree ',entree);
sleep(500);
if i=256 then i:=1;
until a=1;
end. |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
unit apel;
interface
uses SysUtils, P16r16, windows;
var wTotalBoard:word;
entree:integer;
function sortie(w:integer):word;
implementation
function sortie(w:integer):word;
begin
pci_do8(56444,w);
end;
begin
PCI_DriverInit(wTotalBoard);
end. |