happyfish2010 发表于 2013-5-16 17:30:38

如何一块arduino卡同时读取2个rfid设备的信息

现有1块arduino和2个rfid读写器,想通过SoftwareSerial进行通讯,下面是测试用的代码。但问题是只有个读写器有数据输出,另外一个没有输出

#include <SPI.h>
#include <SoftwareSerial.h>

SoftwareSerial rfidSerial1(8,9);
SoftwareSerial rfidSerial2(2,3);
int data1;
int data2;
int in1 = 0;
int in2 = 0;
int key = 0;

String readString = String(30);

void setup(){
Serial.begin(9600);
//rfidSerial1.begin(9600);
//rfidSerial2.begin(9600);
//rfidSerial1.listen();
//rfidSerial2.listen();
//delay(2);
//rfidSerial1.write(0x02);
//rfidSerial2.write(0x02);
Serial.println("please read rfid");
}

void loop(){
Serial.print("rfid1=");
Serial.println(rfidRead1());
Serial.print("rfid2=");
Serial.println(rfidRead2());
delay(1000);
}

int rfidRead1(){
rfidSerial1.begin(9600);
rfidSerial1.listen();
delay(2);
rfidSerial1.write(0x02);
if(rfidSerial1.available()>0)
{
    for (int i = 0; i<=3; i++){
      byte b = rfidSerial1.read();
      data1 = int(b);
    }
    return (data1);

}
in1 = data1;
}

int rfidRead2(){
rfidSerial1.begin(9600);
rfidSerial1.listen();
delay(2);
rfidSerial1.write(0x02);
if(rfidSerial2.available()>0)
{
    for (int m = 0; m<=3; m++){
      byte k = rfidSerial2.read();
      data2 = int(k);
    }
    return (data2);

}
in2 = data2;
}
页: [1]
查看完整版本: 如何一块arduino卡同时读取2个rfid设备的信息