Я только сейчас изучаю некоторый питон после прохождения 30-серийной серии программирования на Arduino. Серия питонов, занявшая второе место, за которой я следую, кажется, немного устарела в том, что касается модулей пакета, и я видел некоторые странные синтаксические события, которых нет в оригинальном видеоматериале.
Цель этого урока состояла в том, чтобы заставить Python читать счетчик String через последовательный порт Arduino.
Счетчик для Arduino через последовательный порт (код):
int cnt=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
Serial.print("I am counting ");
Serial.print(cnt);
Serial.println(" Mississippi");
cnt=cnt+1;
delay(1000);
}
Чтение из последовательного порта в PyCharm (код):
import serial
arduinoSerialData = serial.Serial('com4', 9600)
while (1==1):
if (arduinoSerialData.inWaiting()>0):
myData = arduinoSerialData.readline()
print (myData)
Результаты терминала:
b'I am counting 0 Mississippi\r\n'
b'I am counting 1 Mississippi\r\n'
b'I am counting 2 Mississippi\r\n'
b'I am counting 3 Mississippi\r\n'
Что такое теги b \ r \ n. и почему он применяет автоматическое форматирование, например «строка»? Этого не происходит в его видео.
Кроме того, со стороны Python print (myData)
был отформатирован как print myData
без (). В противном случае он даже не скомпилируется, но в его видео все работает нормально. Это просто изменения в синтаксисе от обновления с Python 2 до Python 3?