2014-04-12 1 views
0

내가 SERIAL2에서 데이터를 읽고 다음과 같이 아두 이노에 Serial3에 데이터를 쓰고 있어요 없음 :이처럼 보이는 파이썬에서 연결된 문자열을 쓰고아두 이노 Serial.write() 데이터

Serial3.write(Serial2.read()); 

:

myNum = readADC(2) 
myString = "The Number: " + str(myNum) 
print(myString); 

위 코드의 출력은 빈 문자열입니다. 내가 print(myNum) 할 경우

some string 

내가 얻을 : 내가 print("some string " + myNum) 할 경우

내가 얻을

말, 파이썬 콘솔에 32

인쇄 mystring에가 예상되는 출력을 보여줍니다.

Serial.write(data) 문자열에 뭔가를하고있는 것 같습니다.

나는이 문제를 어떻게 해결합니까?

+0

Serial.Write()는 아무것도 변경되지 않습니다. 유형을 변경하려고하면 문제가 발생합니다 (예 : 문자열 '0'에서 int 결과 int 48). 문제는 Python 코드로 인해 발생해야합니다. – Zgrkpnr

+0

파이썬에서 int를 문자열로 변환하는 다른 방법이 있습니까? –

+0

어쩌면 거기 있지만, str()은 괜찮습니다. 그거 아무 문제 없어. – Zgrkpnr

답변

0

실제로 Serial.read()은 1 바이트의 데이터를 반환합니다. 나는 당신이 "The Number" 문자열을 얻을 놀랍습니다. 당신이 당신의 문자열을 가지고에

은 지금부터 반복

char IncomingString[14]; if(Serial.available() > 0) { Serial.readBytes(IncomingString, 14);// Assuming myNum is 2 bytes data }

  • 읽기 들어오는 바이트를 권장합니다. 당신은 Serial.write(IncomingString)

    • 이 consequtively "The Number: " 및 myNum에 보내기를 사용할 수 있습니다. 변수가 문자열 인 경우

      print("The Number: "); print(str(myNum));