Почему мое целое число печатается как 222222222222222222222222222222222222222 вместо 1022? - PullRequest
0 голосов
/ 04 мая 2020

Я написал код в python, который отправляет целое число «1000» в Arduino через последовательный порт. На стороне Arduino я добавляю 22 к целому числу и отправляю его обратно. Так что я ожидаю, что 1022 будет возвращено, но вместо этого я получаю кучу 22, которые будут возвращены. Я не слишком уверен, что происходит, и мне было интересно, есть ли у кого-нибудь решение?

Код Arduino:

int sample;
String userInput;
int sum;
int flag = 0;

void setup(){
  Serial.begin(115200);
}

void loop(){
  if(Serial.available() > 0){
     flag = 1;
  }

  if(flag == '1')
  {
    userInput = Serial.readString();
     sample = userInput.toInt();
     sum = sample + 22;
     Serial.print(sum);
     flag = 0;
  }     
}

python3 .7.7 код :

import serial 

teensyData = serial.Serial('COM5', baudrate = 115200, timeout = 1)
sample = 1000
teensyData.write(sample)

test = str(teensyData.readline().decode('ascii'))

print(test)
...