我使用的是具有Python脚本功能的软件。我想用它来移动一个Clearpath伺服和间歇运行内部软件命令。你知道吗
使用Arduino,我可以控制伺服,但一旦我开始使用串行通信,它就开始出错。在阅读了其他帖子后,我想问题出现了,因为串行通信是8位的,我想发送大整数
例如,Arduino代码的一部分显示:
void loop(){
if(Serial.available()){
inByte = Serial.readStringUntil('\n');
ser = inByte.toInt();
X.move(ser);
while(!X.commandDone()||!X.readHLFB())
{ }
Serial.print (inByte);
delay(1000);
}
}
在我开始使用串行通信之前,我会在X.move(ser)中使用整数并得到完美的结果。现在我使用的是串行端口,我可以看出这段代码有问题。即使它似乎工作使用串行监视器,我越是尝试它(特别是使用较大的数字),我就越意识到它可能没有做什么,它之前我使用串行。你知道吗
然后将Python添加到混合中,情况会变得更糟。 为了让您了解我的意图,这里有一个Python代码示例:
ser = serial.Serial('COM3', 9600, timeout=1)
ser.close()
ser.open()
while True:
var = "1000"
ser.write(var.encode())
time.sleep(1)'
使用这个代码,伺服移动,但它是不正确的。 如何通过串行将大整数(例如50502)从Python发送到Arduino,而不会在串行通信期间损坏它?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐