问题描述
我目前正在从事一个旨在通过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 (将#修改为@)