Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 4 maja 2025, o 09:36


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 26 lut 2018, o 21:22 
    Offline
    Użytkownik

    Dołączył(a): 08 lut 2016
    Posty: 96
    Pomógł: 2

    Hej

    Mam taki problem odbieram sobie string-a który ma postać:
    T:-14.80*C|H95%RH

    Chciałbym temperaturę mieć w zmiennej typu float. gdyż chciałbym dokonywać jej porównania z innymi zmiennymi.

    Zmienne:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Cała funkcja:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Kiedy próbuję wyświetlić taką zmienną otrzymuję pytajnik na ekranie czy może mi ktoś podpowiedzieć gdzie robię błąd.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2018, o 21:34 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    StaryAnoda napisał(a):
    Chciałbym temperaturę mieć w zmiennej typu float. gdyż chciałbym dokonywać jej porównania z innymi zmiennymi.

    Rozumiem, że bez float to się nie da? ... hmmmm no masakra Panie, istna masakra .... Qurczę to w jaki sposób robią to milardy ludzi na 8-bitowcach hmmm ? zastanawiałeś się Pan ?

    jak sądzisz jeśli masz np dwie takie temperatury

    14.87 C
    17.24 C

    to jeśli pomnożysz je x100 ? ... hmmm mówi ci to coś ? dokładniej mówiąc

    (14*100)+87 = 1487
    (17*100)+24 = 1724

    to nie da się jednak porównać tych dwóch liczb bez floatów a na zwykłych "int"ach ? gdzie będą działać również porównania dla ujemnych ? I zrobi się to w 0,0000001 sekundy

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lut 2018, o 15:40 
    Offline
    Użytkownik

    Dołączył(a): 08 lut 2016
    Posty: 96
    Pomógł: 2

    To jest pisane na STM32, w tym modelu mam sprzętowe wsparcie dla liczb zmiennoprzecinkowych. Ale dziękuję za pomoc zrobiłem to tak jak na Twoim przykładzie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lut 2018, o 16:53 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    StaryAnoda napisał(a):
    To jest pisane na STM32, w tym modelu mam sprzętowe wsparcie dla liczb zmiennoprzecinkowych.

    To jest właśnie moment gdzie mnóstwo ludzi myśli, że przesiadając się na 32-bitowce - to one właśnie zastąpią część problemów programistycznych, że one same coś zrobią .... a tu jak widać skucha - bo język C zarówno na 8- jaki 16- czy 32- bitowce jest taki sam ;)

    To, że ja staram się uczyć ludzi programowania w C na 8-bitowcach nie wynika z tego, jak zarzuca mi mnóstwo malkontentów, że kocham i znam tylko biedne AVR'y ....

    Nie na darmo też pokazywałem sporo poradników z użyciem takich maluchów jak ATtiny10 w których brakuje mnóstwa wielorakich zasobów ... pokazując jakie można stosować ciekawe techniki programistyczne ... ale niewiele osób to docenia - szkoda ;)

    Ja tu nie mówię teraz broń Boże o Tobie - tak tylko ogólnie pozwalam sobie na pewne refleksje bo temat twojego problemu się niejako zazębia

    Otóż ucząc się technik programowania na tych "biednych" 8-bitowcach - gdzie nierzadko trzeba się nieźle nagimnastykować aby obsłużyć bardziej skomplikowane zagadnienia jak np Ethernet, karty pamięci, WiFi, USB ... itp itd to później KAŻDY - ale KAŻDY kto sobie nieźle to wszystko przećwiczył na 8-bitowcu - z oddechem pełnym radości przekonuje się, że przejście na 32-bitowca sprowadza się li tylko do poznania jego architektury i konfiguracji - zaś techniki programowania - pozostają ogólnie rzecz biorąc te same

    StaryAnoda napisał(a):
    To jest pisane na STM32

    Jest gdzieś o tym mowa w twoim pierwszym poście ? (warto więc nawet w tym dziale - porządnie opisywać swój problem) ... chociaż jak sam widzisz to okazało się mało ważne

    StaryAnoda napisał(a):
    w tym modelu mam sprzętowe wsparcie dla liczb zmiennoprzecinkowych.

    dlatego, że fakt posługiwania się 32-bitowcem nie oznacza, że programista może liczyć na jakąś iluzoryuczną łatwiznę serwowaną przez 32-bitowca ;) ... Oczywiście, że na STM przy jego zasobach spokojnie można sobie poradzić również z użyciem floatów ale widać, że kolega z czystej ciekawości nie przećwiczył wcześniej tego na 8-bitowcach - a zasada ich wykorzystania w C jest - znowu - TAKA SAMA ;)

    żeby nie być gołosłownym:
    http://mirekk36.blogspot.com/2013/04/ec ... float.html

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO