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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager