Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

attiny 2313 bascom - liczba zmiennoprzecinkowa

Manianass 27 Oct 2013 18:40 1638 10
  • #1
    Manianass
    Level 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
    Code: vbnet
    Log in, to see the code
  • #2
    Fredy
    Level 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ę.
  • #3
    Manianass
    Level 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
  • #4
    BlueDraco
    MCUs specialist
    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
    Manianass
    Level 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ć. ?
  • #6
    BlueDraco
    MCUs specialist
    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
    Manianass
    Level 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
    BlueDraco
    MCUs specialist
    Producent na pewno wie, a nawet dzieli się tą wiedzą w dokumentacji układu.
  • #9
    Manianass
    Level 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
    BlueDraco
    MCUs specialist
    No, to znaczy, że pomoc była skuteczna - zajrzałeś do dokumentacji. :)
  • #11
    Manianass
    Level 10  
    Zrobiłem to wcześniej tylko ze nie wiedziałem jak tego czytać ale znalazłem w necie odpowiedz.