Я попытался прочитать данные с USB-порта на OSX, используя pyserial. Когда я попытался прочитать его с помощью CoolTerm, все работало нормально. Это конфигурация:
Затем я попытался написать короткий скрипт, который не выводит данные непрерывно (он выводит данные только один раз идаже если я перезапущу скрипт, ничего не выйдет):
import serial
import time
ser = serial.Serial("/dev/cu.SLAB_USBtoUART", 115200, timeout=5, bytesize=8, stopbits=serial.STOPBITS_ONE, parity=serial.PARITY_NONE)
def getTFminiData():
while True:
# time.sleep(0.1)
count = ser.in_waiting
if count > 8:
recv = ser.read(9)
ser.reset_input_buffer()
if recv[0] == 0x59 and recv[1] == 0x59: # python3
distance = recv[2] + recv[3] * 256
strength = recv[4] + recv[5] * 256
print('(', distance, ',', strength, ')')
ser.reset_input_buffer()
if __name__ == '__main__':
try:
if ser.is_open == False:
ser.open()
getTFminiData()
except KeyboardInterrupt: # Ctrl+C
if ser != None:
ser.close()
Кто-нибудь знает, как правильно получить те же данные, что и CoolTerm в этом случае?