En Python
Les ports séries asynchrones
Pour mener à bien les tests de lecture et d'écriture sur les ports séries asynchrones de la FOX Board G20, nous allons relier entre eux 2 des ports. Connectez les lignes RX du port COM4 (ttyS5) et TX du port et COM3 (ttyS4) entre elles et inversement.
Sous Linux, chaque port série est représenté par un fichier de périphérique situé dans le dossier /dev.
Pour recevoir des caractères sur le port ttyS5:
#serialPortPrint.py import serial ser2 = serial.Serial(port='/dev/ttyS5', baudrate=9600, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS) s = ser2.read(1) # lire un caractere chaine = "" while (s != "q"): s = ser2.readline() # lire une ligne (fini par un retour chariot) if (s != ""): print s ser2.close() |
Pour transmettre des caractères sur le port ttyS4 :
#serialPortInput.py import serial ser1 = serial.Serial(port='/dev/ttyS4', baudrate=9600, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS) #x = raw_input("caracteres a transmettre(q pour arreter) : ") x = "rien" while (x != "q"): #print x x = raw_input("caractere a transmettre(q pour arreter) : ") ser1.write(x) ser1.close() |
Pour testez l’envoi et la réception de caractères, ouvrez deux terminaux simultanément :
Premier terminal : debarm:~# python serialPortInput.py caracteres a transmettre(q pour arreter) : Salut, comment-vas tu ? je fais un test de transmission sur le port série caracteres a transmettre(q pour arreter) : q debarm:~# |
Deuxième terminal : debarm:~# python serialPortPrint.py Salut, comment-vas tu ? je fais un test de transmission sur le port série debarm:~# |