Python与Arduino串行通信

Python与Arduino串行通信,python,serial-port,arduino,pyserial,Python,Serial Port,Arduino,Pyserial,我正在使用Python 3.2尝试通过串行端口与Arduino通信。从文档中,我了解到Arduino Serial.Read()读取单个字节。但是,当我尝试实现此功能时,Serial.Read()读取我发送的所有数字。下面是我的Python和Arduino的代码 例如,我有一个412的值要发送给Arduino Python: xCoordint = 412 xCoordConverted = "%03d" % (xCoordint) xCoord = [int(i) for i in str(x

我正在使用Python 3.2尝试通过串行端口与Arduino通信。从文档中,我了解到Arduino Serial.Read()读取单个字节。但是,当我尝试实现此功能时,Serial.Read()读取我发送的所有数字。下面是我的Python和Arduino的代码

例如,我有一个412的值要发送给Arduino

Python:

xCoordint = 412
xCoordConverted = "%03d" % (xCoordint)
xCoord = [int(i) for i in str(xCoordConverted)]
xSingleDigit0 = chr(int(xCoord[0] + 48))
xSingleDigit1 = chr(int(xCoord[1] + 48))
xSingleDigit2 = chr(int(xCoord[2] + 48))
ser.write (bytes(xSingleDigit0, 'UTF-8'))
ser.write (bytes(xSingleDigit1, 'UTF-8'))
ser.write (bytes(xSingleDigit2, 'UTF-8'))
阿杜伊诺:

char joinCharX[3] ;
int n_avail = Serial.available();
  if(n_avail>0){ 
    for (int i=0;i<3; i++){
      joinCharX[i] = Serial.read();
    }
int xCoords = atoi(joinCharX);
Serial.print(joinCharX[0]);
charjoincharx[3];
int n_avail=Serial.available();
如果(n_avail>0){
对于(int i=0;i尝试:


joinCharX[i]=Serial.read(1);-->它说在第二部分调用'HardwareSerial::read(int)时没有匹配的函数,打印结果与我所做的相同。
char joinCharX[3] ;
int n_avail = Serial.available();
  if(n_avail>0){ 
    for (int i=0;i<3; i++){
      joinCharX[i] = Serial.read(1);  # Note the parameter
    }
int xCoords = atoi(joinCharX);
Serial.print(joinCharX[0]);
char forprint;
:
:
forprint = joinCharX[0];
Serial.print (forprint);