le 11-28-2016 04:25 AM
Bonjour,
j'essaie de mettre en place une communication entre une carte arduino et un pc.
Pour cela j'utilise le port série vituel (COM) et la librairie ni VISA.
Le problème est qu'il arrive quelquefois que le PC plante et me fasse un écran bleu.
J'envoie des données sur le port série assez rapidement.
Savez vous d'où cela peut venir?
Cordialement
le 11-28-2016 04:36 AM
Bonjour,
Il faudrait un peu plus de détails sur l'écran bleu. Type d'erreur remonté ?
L'hypothèse qui me vient en l'état est un "buffer overflow". Tu n'aurais pas un tableau qui vient saturer ta mémoire ?
Si tu fournis ton programme, nous pourrions voir aussi s'il y a une incohérence dans ton code.
Bonne journée.
Michael
11-28-2016 04:56 AM - modifié 11-28-2016 05:00 AM
alors c'est une erreur "Driver IRQL not less or egal"
le 11-28-2016 06:29 AM
peut etre qu'en cablant le flux d'erreur il aurait plus d'information ?
le 11-28-2016 06:43 AM
le 12-01-2016 08:58 AM
Perso, à chaque tour de boucle while, je viderais les buffers avant lecture Visa pour repartir sur une base saine (buffers vides)
le 12-01-2016 09:33 AM
j'ai donc mis un clear en tête de ma boucle mais cela ralenti très fortement le process
12-02-2016 12:52 AM - modifié 12-02-2016 12:55 AM
Tu peux peut-être faire un comptage sur l'index de boucle et faire un clear chaque 100 boucles par exemple.
Mais pour ce qui est de la vitesse d'exécution, la liaison série, c'est quand même pas top non plus 🙂
le 12-02-2016 03:37 AM
Bonjour,
Le clear buffer n'est pas du tout la solution, au contraire, tu vas dans le sens de la perte de données.
Il faut revoir ta façon de segmenter la trame reçue par ton équipement, en stockant dans un registre à décalage les informations reçues de ton produit.
Un petit exemple en pièce jointe.
le 12-02-2016 03:40 AM
Je n'ai pas réussi à ouvrir ta pièce jointe, je tourne sur labview 2013