2015-06-08 35 views
-1
import time 
import serial 

# configure the serial connections (the parameters differs on the device you are connecting to) 
ser = serial.Serial(
    port='/dev/ttyS0', 
    #port='/dev/ttyACM0', 
    baudrate=115200, 
    parity=serial.PARITY_ODD, 
    #stopbits=serial.STOPBITS_TWO, 
    #bytesize=serial.SEVENBITS 
) 

ser.isOpen() # returns true 
time.sleep(1); 

ser.write("some_command \n") 
ser.close() 

我有一块嵌入式主板。它有一个连接到我的电脑的串行端口。我正在运行脚本以访问此串行端口并运行一些特定于电路板的命令。使用python的pyserial模块时出错

我的问题

我打开我的串口(使用小型机在linux)分别,然后运行上面的脚本,它的工作原理。如果我没有单独打开串口,脚本不起作用。

+1

什么是机会Minicom是比你的端口上的程序设置不同的参数?这很可能是你的问题, – jsbueno

+0

不,我交叉检查它。不是这种情况。这是我的串口设置 Serial (port ='/ dev/ttyS0',baudrate = 115200,bytesize = 8,parity ='O',stopbits = 1,timeout = None,xonxoff = False,rtscts = False,dsrdtr = False) –

+0

脚本如何不起作用?它会引发异常还是挂起? –

回答

-1

尝试

ser.write("some_command \n".encode()) 

或者尝试

ser.write(bytes(b"some_command \n"))