import serial
def SendReceiveString(CmdIn="AT@1\r\nAT@2\r\n", Timeout=0.5):
listCmd = CmdIn.splitlines(False)
for i in range(len(listCmd)) :
CmdSend = listCmd[i]
if CmdSend.find("ATZ")>=0 or CmdSend.find("ATWS")>= 0 : Timeout = 1.5
elif CmdSend.find("AT")>=0 : Timeout = 0.5
TheSerial.timeout = Timeout
if IsDisplay == True : print("send: %s" % CmdSend)
TheSerial.write((CmdSend + "\r\n").encode())
strRcv = TheSerial.readline().decode("GBK", "backslashreplace")
if strRcv.find('>') >=0 :
if IsDisplay == True : print(strRcv.replace("\r", "") + "\r\n");
return True
else :
if IsDisplay == True : print("Rcv: Error!!! is [%s]" % strRcv);
return False
def SendReceiveList(AT_Cammand, Timeout=0.5) :
for i in range(len(AT_Cammand)) : SendReceiveString(AT_Cammand[i], Timeout)
TheSerial=serial.Serial("COM4", 38400, timeout=0.5)
IsDisplay = True
(end)