如何解决在树莓派上使用lua脚本在串行端口上读写
我目前正在从事一个旨在通过Raspberry pi4控制RS232设备的项目。我被其他软件强迫使用lua脚本,即使我已经用Python编写了代码,我也从未用lua编码过……我已经在google上广泛搜索了答案,但没有找到任何帮助我。
我希望我的树莓派打开COM端口,然后通过该端口读取和发送消息。
我尝试过the lua user wiki和This post on stackoverflow (read and write on windows),但是都不能应用于树莓派。
如果有人可以帮助,那就太好了!
如果可以帮助您,这是我在python中的代码。
import serial
def convertisseur(chemin):
Tableau = []
f = open(chemin)
for row in f:
Tableau.append(row)
f.close
return (Tableau)
def statut(ser):
ser.write(bytearray([0X53,0X07,0X01,0X41,0X60,0X00,0X73,0X45]));
lecture=ser.readline()
print(lecture);
return()
def main():
ser = serial.Serial('COM3',115200,timeout=1)
ser.close()
ser.open()
Code=convertisseur('C:/Users/Ello/Desktop/CodePosition.txt')
statut(ser)
ser.write(bytearray([0X53,0X09,0X02,0X40,0X06,0X2C,0X45]));
ser.readline()
ser.write(bytearray([0X53,0X0F,0X25,0X45,0X53,0X08,0XF5,0X45]));
ser.readline()
statut(ser)
print('Engine move in cm ? - for trigo,STOP to stop')
Speed = input()
while Speed != "STOP":
speed = int(Speed)
if speed > 38:
speed = 38
if speed < -37:
speed = -37
speed = round(abs((speed-38)))
ser.write(bytearray(int(i,16) for i in Code[speed-1].split(",")))
ser.write(bytearray([0X53,0X7F,0X55,0X45]));
ser.readline()
statut(ser)
Speed = input()
print("Fin du programme,fermeture du port,passage du moteur sur OFF")
ser.write(bytearray(int(i,16) for i in Code[60].split(",")))
statut(ser)
ser.close()
return 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。