我有以下代码
import serial
import time
ser = serial.Serial('COM10', 9600, timeout=0)
timeout = time.time() + 60*1
def readresponse():
while 1:
try:
print(ser.readline())
time.sleep(1)
except ser.SerialTimeoutException:
print('Data could not be read')
if (time.time() > timeout):
break
time.sleep(1)
def sendHttpPost():
ser.write('AT+HTTPACTION=1\r'.encode())
def initialAtCommands():
ser.write('AT+SAPBR=3,1,\"Contype\",\"GPRS\"\r'.encode())
ser.write('AT+SAPBR=3,1,\"APN\",\"APN\"\r'.encode())
ser.write('AT+SAPBR=1,1\r'.encode())
ser.write('AT+HTTPINIT\r'.encode())
ser.write('AT+HTTPPARA=\"CID\",1\r'.encode())
ser.write('AT+HTTPPARA=\"URL\"URL\"\r'.encode())
if(ser.isOpen() == False):
print("Serialport is currently not connected")
else:
print("Serialport successfully connected")
initialAtCommands()
while 1:
sendHttpPost()
readresponse()
其思想是,先执行sendhttppost,然后读取响应60秒,然后再次发送HttpPost。但代码不再进入readresponse。
你知道为什么吗?