0
0 комментариев

python 380

win10

64

Перехожу с py27 на py38.

Задача считать данные с  arduino.

import serial
import re 
port = "COM5" #Номер COM-порта
serialFromArduino = serial.Serial(port, 9600) #выбор порта(задан ранее) и скорости
serialFromArduino.flushInput()
m=0
while True:
if (serialFromArduino.inWaiting() > 0):
BYTES_IN_NUMBER = 6
BLOCK_SIZE = 1 #5 #10 #5
BLOCK_COUNT =10 # 10 # 135 #0 #20
arr = [str(serialFromArduino.read(BYTES_IN_NUMBER))for _ in range(BLOCK_COUNT *BLOCK_SIZE )]
print(type(arr))  # здесь type list
arr=str(arr)    # здесь type srt
print(type(arr))
print(arr)
print(re.sub('\\r\\n',' ', arr))

С ардуино заходит массив 1001, 1002, 1003 …..

Вот результат

<class ‘list’>

<class ‘str’>

[«b’1001\\r\\n'», «b’1002\\r\\n'», «b’1003\\r\\n'», «b’1004\\r\\n'», «b’1005\\r\\n'», «b’1006\\r\\n'», «b’1007\\r\\n'», «b’1008\\r\\n'», «b’1009\\r\\n'», «b’1010\\r\\n'»]

[«b’1001\\r\\n'», «b’1002\\r\\n'», «b’1003\\r\\n'», «b’1004\\r\\n'», «b’1005\\r\\n'», «b’1006\\r\\n'», «b’1007\\r\\n'», «b’1008\\r\\n'», «b’1009\\r\\n'», «b’1010\\r\\n'»]

print(re.sub(‘\\r\\n’,’ ‘, arr)) не убрало \\r\\n из второго массива.

В конечном итоге мне надо получить текстовый массив 1001 , 1002,1003,…заданной длины, который я затем сбрасываю в заданную директорию компьютера.

Где я ошибся.


Добавить комментарий