Mich erreicht eine Fehlermeldung vom Kunden. Bei bestimmten Geräten wird die Status-LED in der Initialisierungsphase nicht korrekt geschaltet bzw. sie bleibt aus. Ich lasse mir einen Trace schicken und stelle fest, dass beim Auslesen der Daten aus dem EEPROM etwas schief läuft und für die Revision kein Wert zurückkommt. Ich schaue in den Code und entdecke das folgende Schmuckstück Programmierkunst. Diese Abfrage macht sicher nicht das was sie soll.

if (buffer[1] == 0x00)
{
	//answer seems to be ok
	iFeederRevision = Convert.ToInt32(string.Format("{0:x2}{1:x2}", buffer[3], buffer[2]), 16);
}
else if (buffer[1] == 0x00)
{
	iFeederRevision = 1;
}

We use cookies
Diese Website verwendet Cookies.
Nähere Informationen dazu und zu Ihren Rechten als Benutzer, finden Sie in unserer Datenschutzerklärung.
Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren.