Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STM32 odczyt temperatury wewnętrznej

07 Lip 2019 20:24 180 3
  • Poziom 11  
    Witam,

    Chcę odczytać temperaturę podawaną z wewnętrznego czujnika STM32L433.
    Producent podaje:
    STM32 odczyt temperatury wewnętrznej
    Problem polega na tym że coś odczytuję niepoprawnie w moim procku ponieważ: TS_CAL1=30120, TS_CAL2=30154.
    Więc dla np. TS_DATA=887 wynik będzie dziwny...

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Jak odczytać poprawnie temperaturę?

    Pozdrawiam.
  • Specjalista - Mikrokontrolery
    Pokaż kod, który przelicza temperaturę, a wcześniej usuń zaciemniające i zbędne rzutowania typów i przyrostki L. TS_CAL mają wartości 12-bitowe, na pewno nie ok. 30000.

    Np. taka definicja jest czytelniejsza i bardziej pożyteczna (w końcu potrzebujesz wartości, a nie adresu):

    #define TEMPSENSOR_CAL1 (*(uint16_t*) (0x1FFF75A8))

    PS. sekret odkryty bez kodu - w Twoim kodzie posługujesz się adresami zamiast wartości, te 30000 z czymś - to właśnie obcięte adresy, pod którymi zapisane są dane kalibracyjne.
  • Poziom 11  
    Masz rację, nie zauważyłem że ten skopiowany kod z definicjami od CubeMX nie podaje zapisanych wartości kalibracji.

    Ale i tak: ((130-30)/(1375-1034))*(887-1034)+30=-13
    Raczej tak zimno u mnie nie jest ;)
  • Specjalista - Mikrokontrolery
    Pokaż kod (również ADC), albo idź do wróżki.