你好,我是Python的新手,但我已经对它感兴趣两年了。我想制造机器人,我正试图在搅拌机上使用Python和pyserial。但我发现了一个问题,经过2个小时在谷歌上寻找答案,在这个网站上,我发现也许我是个智障,因为我无法解决它。我想还没问。在
我使用的是devantech sd84伺服控制器,并通过USB端口控制串行设备,所以我使用pyserial。问题是,我希望Python为用户输入取一个介于400-2200之间的十进制值,我知道如何做,但我需要Python将它显示为两个字节,并首先发送低字节,然后发送高字节。例如(伪代码,因为我还不知道如何编程):#ask for a decimal number between a range (the range does not really matters)
x = raw_input('\tInsert a number between 400-2200:') #Insert a number between 400-2200: 1500
#show it as hex
hex(x) #5dc
#put it in two bytes and in this case add a zero(?) I don't know how to do that.
0xDC 0x05
#add it to a 16-bit integer to send it to the servo controller via the virtual serial port(?) i also don't know how to do that.
ser.write('\xAA\xA0\x55\x01\x01\x02\xDC\x05')
对于那些有相同控制器的人的兴趣,我将解释16位整数前三个字节是同步的(\xAA\xA0\x55)然后命令集的类型是伺服(位置)(\x01),然后通道1-84为1是(\x01),然后是字节计数,在这种情况下是2(\x02)和伺服位置低字节,然后是高字节(\xDC\x05),现在我在我的iPod里用一个应用程序计算,然后我手动插入,哈哈哈,我想停止这愚蠢的事情,让他为我计算。在
现在我将张贴一个代码,我做了测试的目的,它使一个伺服在通道1去槽,它的全范围在不同的速度和打印有趣的东西在西班牙语,而伺服“跳舞”我手动计算的位置,并插入他们哈哈哈哈听起来像我的历史。在
^{pr2}$