Hallo, versuche gerade eine unter/obere Threshold für den MAX44009 einzustellen. Das geht laut Datenblatt so: Lower lux thres. = 2^Exponent x mantissa x 0,045 Exponent = 8xLE3 + 4xLE2 + 2LE1 + LE0 Mantissa = 128xLM7 + 64xLM6 + 32LM5 + 16LM4 Jetzt hab ich mir erstmal überlegt, dass die Mantissa 16n mit n = 0,1,... 15 und Exponent in [0,15] liegt. Um eine Übersicht zu bekommen, habe ich mir das in Excel ausgerechnet. (Anhang: x Exponent, y Mantissa) Nun fällt direkt auf, dass sich einige der Werte doppeln was mich irritiert. (Hab ein paar markiert) Hätte sich Maxim hier nicht eine bessere Möglichkeit ausdenken können, dass Problem zu lösen? Versteh ichs nicht? Macht mans anders? Um den Threshold dynamisch vom MCU einstellen zu können würde ich mir die Werte sortieren und doppelte Einträge löschen und das dann in ein array schreiben. Macht man das so? Oder gibt es eine einfache Möglichkeit?
Max M. schrieb: > Helbe schrieb: >> Mantissa = 128xLM7 + 64xLM6 + 32LM5 + 16LM4 > > RTFM!!!!! Geht es einen tick genauer? Meinst du Tabelle 9?
Helbe schrieb: > S. 11 über "Threshold Timer Register 0x07" Jep. Steht da so! Die .ods kann ich nicht öffnen.
:
Bearbeitet durch User
In der Tabellen Datei steht nichts anders drin als das hier:
1 | double lux[20][20]; |
2 | int i,j; |
3 | for(i = 0; i < 241; i+=16) { |
4 | for(j = 0; j < 16; j++) { |
5 | |
6 | lux[i/16][j] = 0.045 * pow(2,j) * i; |
7 | printf("%f \t", lux[i/16][j]); |
8 | }
|
9 | printf("\n"); |
10 | }
|
Nochmal als Anhang. Diesmal sollte es mit MS Excel zu öffnen sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.