-
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/
Następne wpisy z tego wątku
- 24.04.14 01:34 Pszemol
- 24.04.14 10:32 Elektrolot
- 24.04.14 16:26 Atlantis
- 24.04.14 17:13 Atlantis
- 24.04.14 20:04 Pszemol
- 24.04.14 21:01 Sylwester Łazar
- 24.04.14 21:01 Sylwester Łazar
- 24.04.14 21:05 Pszemol
- 24.04.14 21:10 Grzegorz Niemirowski
- 24.04.14 21:14 Sylwester Łazar
- 24.04.14 21:28 Pszemol
- 24.04.14 21:28 Pszemol
- 24.04.14 21:31 Grzegorz Niemirowski
- 24.04.14 23:15 Pszemol
- 25.04.14 08:05 Zbych
Najnowsze wątki z tej grupy
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
Najnowsze wątki
- 2026-01-02 Kogo KE opierdoli za nieskuteczną cenzurę? [Rząd tuski doniósł]
- 2026-01-02 Gdańsk => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-02 Gdańsk => Solution Architect (Workday) - Legal Systems <=
- 2026-01-02 Gdańsk => Microsoft Dynamics 365 Finance Consultant <=
- 2026-01-02 Microsoft, C/C++ na Rust - news
- 2026-01-01 szyby macie całe?
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy
- 2025-12-31 Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]