Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bluetooth 如何在arduino中将从串行读取的数据存储到阵列中?_Bluetooth_Arduino_Rfid - Fatal编程技术网

Bluetooth 如何在arduino中将从串行读取的数据存储到阵列中?

Bluetooth 如何在arduino中将从串行读取的数据存储到阵列中?,bluetooth,arduino,rfid,Bluetooth,Arduino,Rfid,我试图将通过蓝牙串行发送的RFID标签号的整数值存储到一个数组中,以便读卡器在通过标签时识别标签 while (Genotronex.available() > 2) { int n; for (n =0; n<10 ; n++){ // should read 10 Tags int i; for(i = 0 ; i < 3; i++){ BluetoothData[i] = Genotron

我试图将通过蓝牙串行发送的RFID标签号的整数值存储到一个数组中,以便读卡器在通过标签时识别标签

while (Genotronex.available() > 2) { 
    int n; 
    for (n =0; n<10 ; n++){  // should read 10 Tags 
        int i; 
        for(i = 0 ; i < 3; i++){ 
            BluetoothData[i] = Genotronex.read(); 
            y[i] = BluetoothData[i] - '0'; // convert data received from BT to integer 

            x[n] = y[0]*100+y[1]*10+y[2]*1; // tag number of 3 digits 
        }
    }
} 
delay(100);// prepare for next data ... 

if(str[0] == x[n])  //if passed tag has the same number sent from BT 
{ 
    Serial.print("Helllo World!\n"); 
    Serial.print(n); 
} 

如果您的逻辑是正确的,那么我发现的唯一错误是x[n]赋值在循环内

for (n =0; n<10 ; n++){  // should read 10 Tags 
    for(i = 0 ; i < 3; i++){ 
        BluetoothData[i] = Genotronex.read(); 
        y[i] = BluetoothData[i] - '0'; // convert data received from BT to integer 
    }
        x[n] = y[0]*100+y[1]*10+y[2]*1; // tag number of 3 digits 
}//end n->for loop

试试这个。

x[n]应该在i循环范围之外。您应该测试BluetoothData[i]是否在0上有n个stuck,我不明白为什么!y存储从BT读取的3位整数,因为BT每次只发送一个字符字节。为什么我要测试它?蓝牙数据在你的代码中存储3个字节你通过蓝牙发送什么数据?str[0]是如何定义的?我通过蓝牙发送rfid标签号,这样我就可以创建一种标签号数据库。str[0]是第一对标记号。x[n]是一个整数数组,它应该包含多个rfid卡的标签号。谢谢,但是在循环外分配x[n]仍然不能解决这个问题。每次允许存储从BT读取的多个值时,n必须增加,但我不明白为什么n的值为0!查看我的代码。我之前公开的修改是为了修复x数组的覆盖。