le 03-11-2015 03:50 AM
Bonjour à tous !
J'ai utilisé le VI VISA Clear pour un projet nécessitant un port série. Ce VI me semblait utile pour vider le contenu des buffers d'entrée et de sortie et être sur de ce que j'allais envoyer au périphérique. J'ai donc utilisé ce VI juste après avoir ouvert la ressource VISA (juste après un "VISA Open").
Etrangement, les trames que j'envoyais étaient très mal comprises par le périphérique en question (une carte relais censée activer ou non certaines sorties)... et c'est en retirant le VI VISA Clear que tout s'est mis à marcher correctement !
De fait, je me pose la question par simple curiosité : que fait exactement ce VI ? Se contente-t-il de simplement de vider les buffers d'entrée et de sortie ou désalloue-t-il carrément les espaces mémoires ? Le VI VISA Open crée-t-il automatiquement des buffers vides indexés au bon endroit ?
Ce n'est pas une question urgente, c'est juste que j'aime essayer d'en savoir un peu plus et de comprendre ce qui se passe... Merci à vous !
Bilsix.
03-11-2015 05:14 AM - modifié 03-11-2015 05:25 AM
personnellement je me contente de lire le buffer pour le vider
Visa clear a l'air de vider le bufer en sortie et en entrée ?
donc si tu fais une interrogation puis un clear l'interrogation sera interrompue
le 03-11-2015 06:20 AM
Salut,
Pour vider le buffer tu as une fonction :
C'est ce que j utilise pour etre sure de recevoir et d emettre ce que je veux a un instant T, tu peux choisir avec la constante ce que tu veux "flusher".
Nacer
Nacer M. | Certified LabVIEW Architecte
le 03-11-2015 08:17 AM
Nacer_M de retour sur le forum !
J'espère que ca va bien !
Maxime R.
CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
CTA - Certified TestStand Architect / Architecte TestStand Certifié
le 03-11-2015 08:25 AM
Oui maxime :), j'ai toujours ete la, mais j'intervient pas souvent! J'espere que ca va aussi?
Mais pour vider le buffer je trouvais dommage de faire un read, alors qui a une fonction pour cela!
Nacer M. | Certified LabVIEW Architecte