QR Code or BarCode with scanner

Hello everyone
i have a problem
the communication between a lv3296 scanner and my Arduino Mega 2560.
my code is following but I can not get any data
that is my code

/Autor: segning tazeo cyrille
Datum: 07.08.18
ziel : scanner Code
/

//int scannAnschaltenPin = 52; //der scanner anschalten pin 12 auf den Board

//int beepPin = 8; //die Kamera kann scannen starten pin 5 auf die Platine grau weiss

int analogInPin = A0; /hier werden die gescannte Daten geschickt
sollen die Daten erstmal umgewandel?? oder tue die kamera es schon
/
int ledPin = 22; //led die in die kamera liegt pin 10 auf den Board lila

int knopfStatePin = 52; //drucken oder nicht grünn

int duration = 500; //500ms

int NOTE_C5;

byte dataValue; // werte in Byte umwandeln

char buffer[64]; //Dies speichert die Zeichen (vorerst nur Zahlen)
//int bufferPos = 0;
int bufferLength = 64; //maxLaenge der BarCode

void setup() {
// pinMode(scannAnschaltenPin, INPUT);
// pinMode(beepDataPin, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(knopfStatePin, OUTPUT);
//pinMode(analogInPin, INPUT);
Serial.begin(9600);
Serial3.begin(9600);
}

void loop() {
//knopfState = digitalRead(scannAnschaltenPin);
digitalWrite(knopfStatePin, HIGH);
//delay(100);
do {
if (knopfStatePin == HIGH) {
digitalWrite(ledPin, HIGH);

tone(8, NOTE_C5, duration); //ein signall hören wenn daten empfangen werden

//lesen die gesendete Daten

dataValue = Serial3.readBytes(buffer, bufferLength); //daten die von transmit kommen landet in Serial read ältere version

// was wir bekommen haben
Serial.print("ich habe: ");
Serial.print(dataValue, DEC); //datavalue sind jetzt datenin decimal dei wir empfangen
Serial.println("gescannt");
digitalWrite(ledPin, LOW);

} else {
Serial.println("der Scanner ist aus");
delay(100);
}
} while (knopfStatePin = !true);
}

  } while (knopfStatePin = !true);

Using an assignment operator in a conditional statement is rarely the correct thing to do.

Leaving sh*tloads of commented out code in place, and improperly posting your code, is rarely the correct thing to do.

Try again.