utilisation du port serie du gpio dans script LUA
Publié : 14 mai 2016, 21:54
bonjour,
j'ai trouvé sur le net des bouts de script pour lire et écrire sur le port série du GPIO
Je cherche à dialoguer avec un microcontrôleur PIC16f
j'utilise une carte RS232 :GPIO Shield pour l'interface
j'ai un problème j'ai des erreur de transmissions en début de trame la fin ne pose pas de problème
est ce que quelqu'un travaille sur ce sujet ou aurai des pistes pour résoudre le problème
J'ai entendu parler de bug sur l' USART du raspberry
ce script LUA fonctionne :
--protocole 9600 bauds, 8 bits, sans parité, 1stop, sans contrôle de flux
local chaine
local trame
trame=( '(124:201)\n')
trame2=( '(241:012)\n')
print("debut lecture port")
os.execute('stty 9600')
os.execute('stty -parenb')
os.execute('stty -parodd')
os.execute('stty cs8')
os.execute('stty -cstopb')
os.execute('stty -ixon')
wserial=io.open("/dev/ttyAMA0","w")
wserial:write(trame)
wserial:write(trame2)
wserial:flush()
rserial=io.open("/dev/ttyAMA0","r")
while chaine==nil do
chaine=rserial:read()
rserial:flush()
end
print (trame)
print (trame2)
print(chaine)
print('fin de script')
return commandArray
j'ai trouvé sur le net des bouts de script pour lire et écrire sur le port série du GPIO
Je cherche à dialoguer avec un microcontrôleur PIC16f
j'utilise une carte RS232 :GPIO Shield pour l'interface
j'ai un problème j'ai des erreur de transmissions en début de trame la fin ne pose pas de problème
est ce que quelqu'un travaille sur ce sujet ou aurai des pistes pour résoudre le problème
J'ai entendu parler de bug sur l' USART du raspberry
ce script LUA fonctionne :
--protocole 9600 bauds, 8 bits, sans parité, 1stop, sans contrôle de flux
local chaine
local trame
trame=( '(124:201)\n')
trame2=( '(241:012)\n')
print("debut lecture port")
os.execute('stty 9600')
os.execute('stty -parenb')
os.execute('stty -parodd')
os.execute('stty cs8')
os.execute('stty -cstopb')
os.execute('stty -ixon')
wserial=io.open("/dev/ttyAMA0","w")
wserial:write(trame)
wserial:write(trame2)
wserial:flush()
rserial=io.open("/dev/ttyAMA0","r")
while chaine==nil do
chaine=rserial:read()
rserial:flush()
end
print (trame)
print (trame2)
print(chaine)
print('fin de script')
return commandArray