4 Modes de transmission série
4.3
Accès d'un API au port série
4.3.1
Activation
L'API peut accéder au(x) port(s) série. Pour cela, il faut utiliser la fonction d'initialisation Com-
SetSettings().
Dès que l'API programme ses paramètres au moyen de la fonction ComSetSettings(), un nou-
veau protocole est activé ("commandé par API"). Les paramètres antérieurs sont écrasés lo-
calement. Dans la configuration sur l'appareil, le nouveau protocole et le cas échéant les
paramètres modifiées ne sont pas visibles ; le logiciel Setup continue de montrer les para-
mètres antérieurs.
Pour réactiver les paramètres antérieurs, il faut fermer l'accès de l'API avec la fonction
ComClose(). Autre solution : une modification de la configuration sur l'appareil peut provoquer
la "restitution" de l'accès au port de l'appareil ; les paramètres réglés lors de modification sont
utilisés et le protocole correspondant est activé.
Si l'API n'a plus accès au port après une modification sur l'appareil, il obtient le code d'erreur
ERR_NET_NOTCONNECTED pour la fonction ComRead() ou ComWrite(). Si l'API veut conti-
nuer à avoir accès, dans ce cas, il doit à nouveau appeler la fonction ComSetSettings() puisque
le paramétrage effectué en dernier est appliqué.
4.3.2
Fonctions API
L'utilisateur dispose des fonctions API suivantes :
•
RTS_HANDLE CDECL SysComOpen(short sPort, RTS_RESULT *pResult)
= demander gestionnaire du port
•
RTS_HANDLE CDECL SysComOpen2(COMSettings *pSettings, COMSettingsEx *pSet-
tingsEx, RTS_RESULT *pResult)
= demander gestionnaire du port et appeler dans le même temps la fonction ComSetSet-
tings
•
RTS_RESULT CDECL SysComSetSettings(RTS_HANDLE hCom,
COMSettings *pSettings, COMSettingsEx *pSettingsEx)
= obtenir l'accès au port et régler les paramètres du port
•
RTS_RESULT CDECL SysComGetSettings(RTS_HANDLE hCom,
COMSettings *pSettings, COMSettingsEx *pSettingsEx)
= lire les paramètres du port
•
unsigned int CDECL SysComRead(RTS_HANDLE hCom, unsigned char *pbyBuffer,
unsigned int uiSize, unsigned long ulTimeout, RTS_RESULT *pResult)
= examiner la réception
•
unsigned int CDECL SysComWrite(RTS_HANDLE hCom, unsigned char *pbyBuffer,
unsigned int uiSize, unsigned long ulTimeout, RTS_RESULT *pResult)
= démarrer l'émission
•
RTS_RESULT CDECL SysComSetTimeout(RTS_HANDLE hCom,
unsigned long ulTimeout)
= régler le timeout des caractères
•
RTS_RESULT CDECL SysComClose(RTS_HANDLE hCom)
= restituer le port au protocole initial
Toutes les fonctions API retournent un code d'erreur 3S dans RTS_RESULT que l'API doit ab-
solument analyser.
52