我需要帮助将一段Java转换为python

时间:2015-06-29 18:27:25

标签: java python serial-port arduino-uno

以下Java代码创建了一条消息,我可以写入arduino串口来控制机械臂:

public static byte[] uArmMessage(short armRot, short armStr, short armHt, short handAng, boolean ctlData){
   byte[] msg ={(byte)0xFF,(byte)0xAA,(byte)((armRot>>8) 0xFF),
      (byte)(armRot&0xFF),(byte)((armStr>>8)&0xFF),
      (byte)(armStr&0xFF),(byte)((armHt>>8)&0xFF),
      (byte)(armHt&0xFF),(byte)((handAng>>8)&0xFF),
      (byte)(handAng&0xFF),(byte)(ctlData ? 1 : 2)};
   return msg;
}

我需要帮助在python中编写这个函数。如果有人能够向我解释我是如何将此函数的输出转换为arduino的话我也会非常感激!

如果有任何帮助,我有PDF解释正在使用的通信协议。

如果这不是这类问题的地方,有人可以把我带到更合适的地方吗?

1 个答案:

答案 0 :(得分:1)

msg =[0xFF,0xAA,((armRot>>8)& 0xFF),
      (armRot&0xFF),((armStr>>8)&0xFF),
      (armStr&0xFF),((armHt>>8)&0xFF),
      (armHt&0xFF),((handAng>>8)&0xFF),
      (handAng&0xFF),(1 if ctlData else 2)];

s = serial.Serial("COM5",9600)
s.write("".join(map(chr,msg)))

基本上只需删除所有(Byte)并将{}替换为[] ....