Problème communication Séri

Bonjour à tous,
Je pratique l'arduino depuis environ un an et j'ai réalisé pas mal de petits montages plus ou moins foireux.

Je suis sous windows 8.1 et depuis 1 mois que j'avais téléchargé l'IDE sur ce Pc tout marchait au poil. Je me suis récement mis à Python pour pouvoir controler l'arduino avec des interfaces graphiques. J'arrive à récuperer les données émises par l'arduino, les enregistrer tracer des graphs... Cependant, lorsque j'essaie d'envoyer des données de PC vers l'arduino pour mettre une sortie à 1 (envoyer un int en locurence), rien ne se passe. Je tue le programme python en cours et là, impossible de téléverser quoique ce soit sur l'arduino, il me dit que le port série est utilisé. Si je ferme et que je réouvre l'IDE Arduino, l'option port série dans outil est grisée et lors du téléversement, l'IDE me dit qu'il n'a pas pu trouver COM8 (mon port série sur lequel l'arduino est connecté).
J'ai été dans le gestionnaire des périphériques et le driver arduino est bien installé, pas de petit drapeau jaune a coté.
Si je redémarre le pc tout remarche correctement.

Savez vous d'où cela peut il venir? Merci de vos réponses.

Ben33:
Je tue le programme python en cours et là, impossible de téléverser quoique ce soit sur l'arduino,

Ben oui c'est normal. Lorsque tu tues le programme Python, il ne libère pas le port série et donc l'OS pense qu'il est toujours utilisé.
Il faudrait sortie proprement de ton programme en fermant le port série.

Ok ok merci bien je vais essayer de voir comment faire ca dans la doc PySerial.
Merci!

Le problème c'est que une fois le code ouvert et que j'ai tué le programme, impossible de le fermer par python. vu que le constructeur de la classe serial ouvre le port en question et que ce dernier est déjà ouvert, il me renvoie un message d'erreur. De plus après quelque essai, le message d'erreur change et il me dit qu'un fichier est introuvable: "SerialException: could not open port u'COM3': WindowsError(2, 'Le fichier sp\xe9cifi\xe9 est introuvable.')"

C'est le souci avec les communications de bas niveau : il faut redémarrer ton windows si tu ne fermes pas correctement les périphériques.

Ben33:
Le problème c'est que une fois le code ouvert et que j'ai tué le programme, impossible de le fermer par python.

C'est le programme qui ouvre le port qui doit le fermer. C'est vrai aussi bien pour Python que pour C ou n'importe quel autre langage. C'est une question de bon sens.

Voir là close :http://pyserial.sourceforge.net/pyserial_api.html