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



Teraz jest 17 kwi 2024, o 00:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 5 sie 2021, o 18:54 
Offline
Użytkownik

Dołączył(a): 25 lip 2021
Posty: 93
Pomógł: 0

hej, wlasnie uruchomilem 1x ADC i bawie sie odczytem. Chcialem przeliczyć wartość 0-1023 na V. Powołałem nowa zmienna float, przeliczylem to, ale wynik na terminalu jest całkowity

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


Oczywiscie po chwili pomyslalem, że to przez to, poniewaz funkcja wysylajaca do usart to Int i wynik otrzymam i tak w int. Jako początkujący jestem sobie z tym jakoś poradzić? Musiałbym w uart stworzyć funkcje do przesylania float ?

oto caly kod

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2021, o 20:06 
Offline
Moderator
Avatar użytkownika

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

a po jasny gwint ci float ? brrr unikaj floatów na 8-bitowcach jak ognia ;)

tym bardziej, że można bez NAJMNIEJSZEGO problemu bez floatów wyświetlać liczby zmiennoprzecinkowe praktycznie w każdym wypadku za pomocą liczb całkowitych ;) i to z dowolną ilością miejsc po przecinku ;)

Oddziel sobie część ułamkową i wyświetl część całkowitą, później ręcznie przecinek czy kropkę a później część po przecinku też jak liczbę całkowitą i po zawodach

_________________
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: 5 sie 2021, o 20:09 
Offline
Użytkownik

Dołączył(a): 25 lip 2021
Posty: 93
Pomógł: 0

Na razie średnio mogę sobie wyobrazić jak to zrobić ale pomyślę na spokojnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2021, o 20:51 
Offline
Moderator
Avatar użytkownika

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

nie masz przypadkiem Bluebooka ? Bo tam szeroko opisuję te sposoby i na przykładzie pomiaru temperatury z DS18B20 i na przykładzie właśnie ADC i innych

teraz uważaj taki skrócony prosty przepis - bo zwykle ludzie mówią że nie potrafią sobie tego wyobrazić - a jak zobaczą jak to się robi to aż pukają się w czoło i mówią, że że też na to nie wpadłem ;)

Masz np temperaturę 21,5 st C

no jak Qurna ją zapisać i wyświetlić bez kociego, tfuuu na psa urok, floata !

Panie - no zależy nam tu TYLKO na jednym miejscu po przecinku - to co za problem pomnożyć tą liczbę x10 ... jak to zrobisz to będziesz miał zamiast 21.5 ---> 215 TAK ?;)

czujesz już ?

to teraz skoro masz

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


robisz:

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


czy chcesz czy nie - to wynik będzie 21 ;) tego działania na liczbach całkowitych tak ?

no to idziem dalej

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


i tutaj czy chcesz czy nie wynikiem tego działania będzie liczba = 5 !

a więc masz już dwie interesujące cię części - KAŻDA w osobnej zmiennej CAŁKOWITEJ !

co za problem teraz zrobić:

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


to jest tylko taki wstęp ale dalej i dla większych liczb szczególnie gdy masz wzorki do rozwiązania jest podobnie no ale to bez sensu teraz żebym że tak powiem przepisywał tu kilka stron z Bluebooka ;) wystarczy zajrzeć na przykłady takich różnych działań!

ZALETĄ takiego podejścia jest PRZEDE WSZYSTKIM to że tracisz w pierdyliard mniej pamięci FLASH - nie zauważyłeś, że jak tylko dodasz floata to od razu zajętość we flash puchnie o dobre 2-3 kb ! Jak będziesz chciał tak się bawić w małych ATtiniaczach to polegniesz w 5 sekund, a z takim podejściem na liczbach całkowitch SPOKOJNIE dasz radę.

_________________
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: 7 sie 2021, o 20:27 
Offline
Użytkownik

Dołączył(a): 25 lip 2021
Posty: 93
Pomógł: 0

He elegancko śmiga. Dziś właśnie z bluebooku przerabiałem te całe modulo i się tak zastanawiałem, do czego to mi się może przydać. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2021, o 21:32 
Offline
Moderator
Avatar użytkownika

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

Dodaj w podpisie forum że masz Bluebooka (tą ikonkę sobie zaznacz w ustawieniach)

_________________
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: 6 ] 

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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO