Certains programmes utilisés par les radioamateurs se servent de la broche CTS des ports séries pour récupérer des trames issues d'une interface reliée à un recepteur.
Savez vous comment est géré cette lecture sur la broche CTS ?
En vb6, il te faut rajouter le controle MS Comm à ton projet.
Ensuite il faut que tu fasse une boucle pour venir scruter régulièrement la propriété CTSHolding de ton controle, mémoriser chaque état (bits) pour les regrouper ensuite en mots de 8 bits.
En gros, il faut que tu te tappe la désérialisation des données à la main.
Plutot étrange d'utiliser la ligne CTS pour communiquer, pourquoi ne pas prendre la ligne RX qui est prevue pour cela.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Tu ne peux pas utiliser le controle Timer. Mais avec une boucle faut voir ce que ça donne.
Sinon faut passer par un Timer système, en utilisant les api windows
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Merci pour la réponse, je pense que l'utilisation de la broche CTS est plus pratique dans ce cas car elle n'impose pas la reception des bits par octets.
Le projet qui m'interesse prévoit la reception d'une trame de 120 bits minimum, il n'y a pas de bit de start ni d'arret "entourant" un mot.
La vitesse de transmission est de 1200 bauds/s n'est ce pas trop rapide pour VB ?
Bonsoir,
Je viens de trouver ça http://support.microsoft.com/kb/172338 , la résolution annoncée dans les meilleurs des cas et de 10 ms, n'y at-il pas plus rapide ?
Il faudrait éplucher ce document, mais ces résultats ne sont pas réalistes.
Time, controle Timer, ... ont une résolution de 20ms environ (18.2ms exactement)
GetTickCount à une résolution de 1ms puis que cette api te renvoie le nombre de ms depuis l'allumage de la machine.
QueryPerformanceCounter a une résolution dépendant de la machine mais généralement largement inférieure à la µs. Sur mon Pc, de ce que j'ai pu estimer, je tourne aux environ de la dizaine de ns ( 0.00001ms).
Malheuresement, QueryPerformanceCounter n'est pas disponibles sur tous les PC même les modernes. Sur ceux pour lesquels cett api marche, la résolution est donnée par la formule 1/freq, avec freq : la fréquence renvoiyée par l'api QueryPerformanceFrequency
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Je ne comprends pas quand tu dis "Malheuresement, QueryPerformanceCounter n'est pas disponibles sur tous les PC même les modernes" ce n'est qu'une question de code ?
Non, pour que cette api marche, il est necessaire que soit implanté dans le système (processeur, chipset, ou carte mère, je sais pas où exactement), des compteurs Hautes performances. Ca dépend du matériel, ce n'est pas une question de code.