Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino Linux下用Python控制MDrive 23_Arduino_Pyserial - Fatal编程技术网

Arduino Linux下用Python控制MDrive 23

Arduino Linux下用Python控制MDrive 23,arduino,pyserial,Arduino,Pyserial,MDrive 23电机从终端接收命令,我让它与屏幕程序一起工作: screen /dev/ttyUSB0 这叫串行终端吗?我不熟悉连接的细节,但感觉应该能够使用PySerial发送命令 我试过: import serial ser = serial.Serial('/dev/ttyUSB0', 19200) ser.isOpen() # Returns True ser.write('ma 100000\r\n') # Does nothing... ser.inWaiting() # Ret

MDrive 23电机从终端接收命令,我让它与屏幕程序一起工作:

screen /dev/ttyUSB0
这叫串行终端吗?我不熟悉连接的细节,但感觉应该能够使用PySerial发送命令

我试过:

import serial
ser = serial.Serial('/dev/ttyUSB0', 19200)
ser.isOpen() # Returns True
ser.write('ma 100000\r\n') # Does nothing...
ser.inWaiting() # Returns 0
ser.close()
我不知道如何设置其他init变量,例如:

parity = serial.PARITY_ODD,
stopbits = serial.STOPBITS_TWO
bytesize = serial.SEVENBITS    
接下来我将尝试猜测一些值。。。该文档很蹩脚,但它提到了MODBUS TCP和Mcode

我该如何设置它们?我的代码段中是否存在语法错误


我知道如何向串行对象发送参数,但不知道典型值是什么。

串行构造函数的其他参数的设置方式与端口和波特率类似:

ser = serial.Serial(port = '/dev/ttyUSB0', baudrate=19200, bytesize=serial.SEVENBITS, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_TWO)

ser.write('whatever')
ser.flush() # wait for data to be written
ser.close()

编辑:默认设置为9600波特、8位、无奇偶校验和1停止位。此外,不使用流量控制。这相当于:

ser = serial.Serial(port = '/dev/ttyUSB0', baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, xonxoff=False, rtscts=False, dsrdtr=False)
由于除端口外的所有值都设置为默认值,因此您可以使用:

ser = serial.Serial(port = '/dev/ttyUSB0')

最不需要担心的是设置哪个(读取)超时。这是以秒为单位测量/设置的(允许浮点),并设置read()命令在返回已读内容之前将阻止多长时间。

thx考虑一下,我知道如何将参数发送到对象实例,我只是不了解变量本身,也不知道如何猜测它们的值。谢谢Micke。我尝试了timeout=0,看到了输入的回声和输出流,现在我明白了。文档列出了几种波特率,但似乎不是所有波特率都可以工作。