Bonjour,

J'ai besoin pour un projet de lire sur un lecteur de piste magnétique. Ce lecteur se branche en USB mais est bien considéré comme un port COM.

Le truc c'est que lorsque je lance mon programme j'avais fait une routine pour lire les différents ports COM et distinguer avec lequel je devais dialoguer.

Ca marchait parfaitement sous XP, Python2.4.3, pyserial2.2. Je veux porter l'application sous Vista, avec Python2.6.5 et pyserial2.5-rc1 (faites avec distutils 2.6.5) mais là ca coince.

Mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
            import serial
            port = "COM%s"
            baud_rate = 9600
 
            # Selection du port à tester
            serial_port = port % (i) #i indice de boucle pour scanner les différents ports
 
            # Initilisation de la connexion 
            reader = serial.Serial(serial_port, baud_rate, timeout = 1)
 
            # Ouverture de la connexion 
            reader.open()
 
            # Envoi du caractere '9' pour recevoir la version du lecteur
            reader.write('9')
 
            # Récupération de la réponse 
            msg = reader.read(26)
 
            # Fermeture de la connexion
            reader.close()
Sachant que si j'envoie le caractère 9 a mon lecteur, il me renvoie la version qui fait 26 caractères.

Alors je suis ouvert à tous commentaires sur ce qui aurait pu changer dans cette librairie.