06-01-2023, 21:06
Dzień dobry. Program czyta mi kartę. Wyświetla kod. Nie potrafię porównać nr kary odczytanego z nr zapisanym w programie i np. zmianę stanu na pinie.
void receivedData(uint8_t* data, uint8_t bits, const char* message) {
Serial.print(message);
Serial.print(bits);
Serial.print("bits / Nr karty: ");
//Print value in HEX
uint8_t bytes = (bits+7)/8;
for (int i=0; i<bytes; i++) {
Serial.print(data[i] >> 4, 16);
Serial.print(data[i] & 0xF, 16);
}
Serial.println();
}
Wyświetla coś takiego:
Card readed: 24bits / Nr karty: 1AD169
Card readed: 24bits / Nr karty: 1AD169
Card readed: 24bits / Nr karty: 1AD169
Jak to zrobić ?
if nr_karty = 1AD169 to pin = HIGH
void receivedData(uint8_t* data, uint8_t bits, const char* message) {
Serial.print(message);
Serial.print(bits);
Serial.print("bits / Nr karty: ");
//Print value in HEX
uint8_t bytes = (bits+7)/8;
for (int i=0; i<bytes; i++) {
Serial.print(data[i] >> 4, 16);
Serial.print(data[i] & 0xF, 16);
}
Serial.println();
}
Wyświetla coś takiego:
Card readed: 24bits / Nr karty: 1AD169
Card readed: 24bits / Nr karty: 1AD169
Card readed: 24bits / Nr karty: 1AD169
Jak to zrobić ?
if nr_karty = 1AD169 to pin = HIGH