以下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解释正在使用的通信协议。
如果这不是这类问题的地方,有人可以把我带到更合适的地方吗?
答案 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)
并将{}
替换为[]
....