Witam!
Mam pewien problem związany z wyżej wymienionymi czujnikami, a raczej w pewnym zakresie z ich obsługą. 2 czujniki na jednej magistrali, odczytywanie kodów ROM, i odczyt temperatury z maksymalną rozdzielczością, no wszystko gra. Zdziwił mnie jednak fakt, który zauważyłem ostatnio. Po podgrzaniu czujnika do temperatury powyżej 90-95 stopni wyświetlają mi się "kwiatki" w postaci dodatnich i ujemnych liczb z zakresu setek i nawet tysięcy występujących na przemiennie. Oczywiście sprawa cichnie po ostudzeniu czujnika poniżej "temperatury błędu". Czy mógłby ktoś mnie naprowadzić w którym miejscu popełniam błąd? Pragnę zaznaczy że nie używam bibliotek z książek i odczytane wartości temperatury zapisuję w tym paskudnym

, zajmującym czas i zasoby procesora formacie float. Robię to ze względu na wymaganą dokładność regulacji temperatury w tworzonym projekcie i łatwość operowania danymi przy wprowadzaniu do regulatora na obecnym poziomie wtajemniczenia

. Konwersja w celu wyświetlania opiera się o funkcję dtostrf.
1WIRE_DS18B20.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
1WIRE_DS18B20.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
kod w funkcji main odpowiedzialny za konwersję i wyświetlanie
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wynik1 i 2 to 11 elementowe tablice typu char, T1 i T2 to zmienne typu float