Преобразование между типами вывода RFID?

У меня есть считыватель RFID, подключенный к Arduino, и один, который подключается к ПК. У ПК есть варианты вывода в разных форматах. У меня есть этот код для моего Arduino:

// interrupt that happens when INTO goes low (0 bit)
void ISR_INT0() {
  //Serial.print("0");   // uncomment this line to display raw binary
  bitCount++;
  flagDone = 0;
  weigand_counter = WEIGAND_WAIT_TIME;  

}

// interrupt that happens when INT1 goes low (1 bit)
void ISR_INT1() {
  //Serial.print("1");   // uncomment this line to display raw binary
  databits[bitCount] = 1;
  bitCount++;
  flagDone = 0;
  weigand_counter = WEIGAND_WAIT_TIME;  
}

if (bitCount == 26) {
    for (i=1; i<25; i++) {
        cardCode <<=1;
        cardCode |= databits[i];
    }

    printBits();
}

Итак, это читается в двоичном формате и преобразует его в базу 10.

Согласно считывателю ПК, это «8 номеров в D (последние 3 байта)», я хочу преобразовать свои числа в «10 номеров в D (четыре байта)», возможно ли это? Некоторые примеры:

Binary: 001001011010111111101011
Actual reading: 2469867
Wanted Reading: 0270905323
Binary: 001001011010000101101010
Actual reading: 2466154
Wanted reading: 0270901610

person James Sedman    schedule 14.06.2018    source источник


Ответы (1)


Нет, невозможно вывести недостающую информацию из ниоткуда. Поскольку этот считыватель предоставляет вам только часть информации (т. е. 24 бита из 32 общих битов), просто невозможно получить недостающие 8 бит (которые считыватель выбросил между чтением тега и выводом кадра Виганда).

person Michael Roland    schedule 21.06.2018