logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Attiny 2313 Bascom - Wyświetlanie Liczb Zmiennoprzecinkowych na AVT3500

Manianass 27 Paź 2013 18:40 1740 10
REKLAMA
  • #1 12887412
    Manianass
    Poziom 10  
    Bascom
    Procesor Attiny 2313
    płytka testowa AVT3500

    Znalazłem w internecie program trochę w nim pozmieniałem i działa czyli wyświetla na wyświetlaczu 7 segmentowym liczby w zakresie od 0 do 9999.
    ale mam problem bo che wyświetlić na nim liczby z przecinkiem z dokładnością do 0,1
    tylko nie wiem jak. Chce zeby wyświetlał tylko do 99.9 ale do 999.9 tez moze być :)
    dodane są dwa przyciski
    s1 zmiejsza o jeden wyświetl;ana liczbe
    s2 zwieksza liczbe o jeden a po przytrzymaniu ciągle zwieksza
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 12887511
    Fredy
    Poziom 27  
    Jeśli zmienna wyświetl jest typu Word, czyli ma być to liczba całkowita. Od razu ci podpowiem, że nie potrzebujesz używac liczb zmiennoprzecinkowych, które "kosztuja" bardzo dużo. Zrób operacje na liczbie *10, a przy wyświetlaniu przesuń tylko przecinek w lewo o jedną pozycję.
  • REKLAMA
  • #3 12887556
    Manianass
    Poziom 10  
    próbowałem tylko ze to musi być wtedy typu single bo word nie przyjmuje zmiennoprzecinkowej liczby
    czyli nie da sie pomnoży razy 10
    próbowałem tez pozmieniać wszystkie typy na single ale też nie poszło
  • REKLAMA
  • #4 12887735
    BlueDraco
    Specjalista - Mikrokontrolery
    Po prostu wyobraź sobie, że liczysz na liczbach całkowitych, a jednostką jest jedna dziesiąta, czyli jedynkę zapisujesz jako 10, a półtora - jako 15.
  • #5 12887830
    Manianass
    Poziom 10  
    ok tak można tylko jak to zapisać w bascomie bo z ds1820 pobieram temperaturę a jak spada ponizej 10.2 to włącz "grzanie"
    i jak mam w tym przypadku mam zrobić. ?
  • REKLAMA
  • #6 12887859
    BlueDraco
    Specjalista - Mikrokontrolery
    Wylicz temperaturę w dziesiątych częściach stopnia i jeśli spadnie poniżej 102 - włącz grzanie :)

    A tak an poważnie, to DS18xxx ma dokładność gorszą niż 0.5 stopnia, więc najlepiej licz w całych stopniach.
  • #7 12888089
    Manianass
    Poziom 10  
    A jak ja zakupem miały być wspomniane DS18B20 A ja dostałem DS1820 bez tego B jak patrzyłem w dokumentacji to jest podobny do DS18S20 ale nie jestem pewien czy ktoś wie jak z niego odczytać temperaturę ?
  • #8 12888116
    BlueDraco
    Specjalista - Mikrokontrolery
    Producent na pewno wie, a nawet dzieli się tą wiedzą w dokumentacji układu.
  • #9 12907641
    Manianass
    Poziom 10  
    BlueDraco

    Dzięki za taką pomoc jak nie masz nic do dodania to nie pisz :)
    Jak byś przeczytał Mój post powyżej to byś takich mądrości nie pisał.
    Ale już wiem jak pobrać dane z niego.
  • #10 12907674
    BlueDraco
    Specjalista - Mikrokontrolery
    No, to znaczy, że pomoc była skuteczna - zajrzałeś do dokumentacji. :)
  • #11 12907730
    Manianass
    Poziom 10  
    Zrobiłem to wcześniej tylko ze nie wiedziałem jak tego czytać ale znalazłem w necie odpowiedz.
REKLAMA