如何一块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]