Witam,
mam taki problem zapewne dla wielu z was błachy... mianowicie chciał bym odczytać z magnetometru MAG3110 temperature.
Niby nic trudnego ale prosząc o pomoc wujka "Google" nie znalazłem satysfakcjonującej odpowiedzi.
Po podpięciu czujnika do uC odczytuje dane z adresu 0x0F, kawałek kodu:
w rezultacie dostaję wartości w przedziale 250-255 a czasami 0.
Wiem, że to nie jest właściwa wartość ale już sam fakt mnie troche dziwi otrzymywanych wartości. Zastanawiam się czy nie usmażyłem układu ale mam takie 4 przypadki, a w internecie też wiele osób wspomina o takich odczytach.
W nocie MAG3110 jest informacja
znalazłem informację o zamianie :
czyli odbiciu a dodaniu ale i tak wartości są z "kosmosu".
Jeżeli ktoś się spotkał z tym problemem to prosił bym o pomoc. Zapewne nie tylko mi się przyda to rozwiązanie.
Pozdrawiam
mam taki problem zapewne dla wielu z was błachy... mianowicie chciał bym odczytać z magnetometru MAG3110 temperature.
Niby nic trudnego ale prosząc o pomoc wujka "Google" nie znalazłem satysfakcjonującej odpowiedzi.
Po podpięciu czujnika do uC odczytuje dane z adresu 0x0F, kawałek kodu:
Cytat:
$regfile = "m8def.dat"
$crystal = 11059200
$baud = 57600
Config Pind.2 = Output
Config Sda = Portc.4
Config Scl = Portc.5
Config Watchdog = 2048
Dim Tm As Byte
...
Adr_temp = &H0F
I2cstart
I2cwbyte Mag3110_adrw
I2cwbyte Adr_temp
I2cstart
I2cwbyte Mag3110_adrr
I2crbyte Tm , Nack
I2cstop
...
Print "Temp: " ; Tm ; Chr(9) ; Bin(tm)
...
w rezultacie dostaję wartości w przedziale 250-255 a czasami 0.
Wiem, że to nie jest właściwa wartość ale już sam fakt mnie troche dziwi otrzymywanych wartości. Zastanawiam się czy nie usmażyłem układu ale mam takie 4 przypadki, a w internecie też wiele osób wspomina o takich odczytach.
W nocie MAG3110 jest informacja
Cytat:
The register contains the die temperature in °C expressed as an 8-bit 2's complement number. The sensitivity of the temperature
sensor is factory trimmed to 1°C/LSB. The temperature sensor is not factory trimmed and must be calibrated by the user software
if required. Note: The register allows for temperature measurements from -128°C to 127°C but the output range is limited to
-40°C to 125°C.
znalazłem informację o zamianie :
czyli odbiciu a dodaniu ale i tak wartości są z "kosmosu".
Jeżeli ktoś się spotkał z tym problemem to prosił bym o pomoc. Zapewne nie tylko mi się przyda to rozwiązanie.
Pozdrawiam