Voici un programme pour WRT54GL m’a permis de tester la librairie rs232 de LUA.
Pour le tester sur PC remplacer seulement le nom du port.
/dev/tts/1 par /dev/ttyS0 par exemple.
fd=require(“rs232″)
B9600=13 — valeur pour 9600 bauds
V24_8BIT=3 — 8 bits
NO_PARITY=0 — sans parité
– Ouverture du port de communication
– configuration de /dev/tts/1 en V24_STANDARD
————————————-
print(“open port /dev/tts/1″)
result=fd.V24OpenPort(“/dev/tts/1″,0,0)
print(result)
– définition des paramètres de communication
———————————————
print(“9600 bauds, 8 bits , no parity”)
result=fd.V24SetParameters(B9600,V24_8BIT,NO_PARITY)
print(result)
– Timeout à 5 seconde
————————
print(“Timeout de réception à 5 secondes”)
result=fd.V24SetTimeouts(50)
print(result)
– attente d’un caractère sur la liaison série
———————————————-
print(“attente d’un caractère sur le port série”)
result=fd.V24Getc()
print(result)
– envoi du caractere ‘A’
————————-
print(“Envoi du caractère ‘A’”)
result=fd.V24Putc(65)
print(result)
– envoi de la chaine Bonjour
—————————–
print(“Envoi de la chaine de caractères ‘TOTO’”)
result=fd.V24Write(“TOTO\n\r”)
print(result)
– fermeture du port
——————–
print(“Fermeture du port”)
result=fd.V24ClosePort()
print(result)
Salut,
je viens d’implémenter ce bout de code en LUA et tout à l’air de fonctionner comme convenu.
Est-ce que la fonction EV24Gets (qui permet de recvoir un string) fonctionne dans ce que vous avez fait?
Si oui, comment dois je l’implémenter dans mon code en LUA.
Merci d’avance.