Bonjour,
Pour ceux qui ont vu mes derniers posts , je suis sur la communication RS232 en utilisant les fonctions de WinApi.
Cette communication permet un dialogue entre le port USB d'un PC et un µcontroleur sur une longueur < 10 cm, et doit être très rapide (essayer d'approcher le Mbips/s). Des précautions sur cette liaison filaire seront mises en place aussi (paires différentielles...).
A ce jour nous fonctionnons à 430800 baud, mais les durées entre deux émissions consécutives sont pour notre besoin très lentes, de tête environs 15 millisecondes, bien supérieures à la durée d'émission d'un octet.
Lors de la configuration de mon port com, j'ai un certain nombre de TimeOut.
Les valeurs indiquées sont la synthèse des exemples que j'ai vus, sans vraiment comprendre comment cela s'applique sur la communication.
Quelqu'un saurait-il me dire les valeurs des "TimeOut" pour avoir les durées les plus courtes entre deux envois avec l'utilisation du port de l'unité WinApi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 with timeouts do begin ReadIntervalTimeout := 0; ReadTotalTimeoutMultiplier := 0; ReadTotalTimeoutConstant := 1; WriteTotalTimeoutMultiplier := 0; WriteTotalTimeoutConstant := 1; end; SetCommTimeouts(Ucom, timeouts)
Je me demande aussi si les valeurs '0' sont prises en compte ?
Des essais en python (avec ces fonctions et sur Windows), semblent bien fonctionner avec des durées justes inférieures à la mS entre deux envois.
merci pour vos aides.
Partager