eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDziałająca biblioteka do BMP085Re: Działająca biblioteka do BMP085
  • Data: 2014-04-24 01:31:48
    Temat: Re: Działająca biblioteka do BMP085
    Od: "Pszemol" <P...@P...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    "Atlantis" <m...@w...pl> wrote in message
    news:lj9clo$e2i$1@portraits.wsisiz.edu.pl...
    > Ktoś ma jakiś pomysł gdzie mogę zacząć szukać przyczyny,
    > co jeszcze ewentualnie mogę sprawdzić?

    Wcześniej pisałeś że masz wynik około 300hPa...
    Może zamiast 1000hPa czytasz coś jak 344hPa?
    Jeśli tak, to stawiam hipotezę, że obcinasz górny bajt
    z trzy-bajtowego wyniku...
    1000hPa to 100000Pa, czyli w bajtach 0x01 0x86 0xA0.
    Jeśli weźmiesz pod uwagę że Twój kod mógł skrócić
    long'a do int'a i zamiast 0x186A0 dostaniesz 0x86A0
    to uzyskasz wynik 34464, czyli 344,64hPa...

    Poszukaj więc w swym kodzie miejsc, gdzie używasz
    funkcji oczekującej argumentu typu int (2 bajty) i tam
    posyłasz argument typu long (4 bajty) który zostaje przez
    kompilator ucięty do oczekiwanych przez funkcję 2 bajtów.

    Podejrzewałbym następujące linie Twojego kodu:

    1) itoa(pressure, result, 10);

    Prototyp funkcji:
    char * itoa ( int value, char * str, int base );
    Funkcja oczekuje int'a, posyłasz jej argument typu int32.
    Bad boy! :-)

    2) printf_P(pAnswer, PSTR("+PRESS: %d\r\n"), bmp085_getpressure());

    Funkcja printf dekodując format %d szuka na stosie wartości
    typu int, co ma dwa bajty a Ty podajesz wartość 4-bajtową.

    Zamień ten format %d na %ld, czyli zapisz tą linię tak:
    printf_P(pAnswer, PSTR("+PRESS: %ld\r\n"), bmp085_getpressure());
    http://www.cplusplus.com/reference/cstdio/printf/


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: