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 :
Sachant que si j'envoie le caractère 9 a mon lecteur, il me renvoie la version qui fait 26 caractères.
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()
Alors je suis ouvert à tous commentaires sur ce qui aurait pu changer dans cette librairie.
Partager