Zitat Zitat von basteluwe Beitrag anzeigen
Ja, die Register hab ich im Datenblatt gefunden und das Setzen von 0x0B und 0x09 leuchtet mir auch ein.
Warum das Script in dem Link (kumardas) bei gleichem Chip angeblich auf das Setzen von 0B verzichten kann, versteh ich zwar immer noch nicht, aber vielleicht geht's ja auch gar nicht wirklich.
Sowas soll vorkommen. Das Internet ist voll von nicht funktionierendem Code, der selten korrigiert wird. Hier könnte es so sein: der Chip, und nicht nur dieser, arbeitet völlig unabhängig von der CPU. Er kann daher in einem früheren Versuch mit der SW richtig eingestellet worden sein und behält diesen Zustand, solange er genügend Versorgungsspannung hat. Es ist daher immer hilfreich vor einem Softwaretest die Spannung einmal abzuschalten oder, wie hier z.B. möglich, beim Initialisieren einen Reset des Chips zu programmieren. Dann sieht man, ob man den Chip richtig initialisiert hat.

Was mir an dem Code auch auffällt, daß nie, noch nicht mal beim Senden der I2C Adresse, auf ACK/NAK geprüft wird. Wenn man doch ein Modul mit dem HMC erwischt oder der I2C Bus ein Problem hat, werden munter sinnlose Ergebnisse produziert ohne daß es auffällt. Außerdem steht in den Kommentaren HMC obwohl der Code offensichtlich für den QMC ist. Wer ihn versucht nachzuvollziehen landet beim falschen Datenblatt.

MfG Klebwax