ATNEL tech-forum https://forum.atnel.pl/ |
|
Wyswietlenie liczb zmiennoprzeciwnkowych w terminalu https://forum.atnel.pl/topic23876.html |
Strona 1 z 1 |
Autor: | krawi92 [ 5 sie 2021, o 18:54 ] |
Tytuł: | Wyswietlenie liczb zmiennoprzeciwnkowych w terminalu |
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 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 |
Autor: | mirekk36 [ 5 sie 2021, o 20:06 ] |
Tytuł: | Re: Wyswietlenie liczb zmiennoprzeciwnkowych w terminalu |
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 |
Autor: | krawi92 [ 5 sie 2021, o 20:09 ] |
Tytuł: | Re: Wyswietlenie liczb zmiennoprzeciwnkowych w terminalu |
Na razie średnio mogę sobie wyobrazić jak to zrobić ale pomyślę na spokojnie. |
Autor: | mirekk36 [ 5 sie 2021, o 20:51 ] |
Tytuł: | Re: Wyswietlenie liczb zmiennoprzeciwnkowych w terminalu |
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 język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. robisz: 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 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ć: 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ę. |
Autor: | krawi92 [ 7 sie 2021, o 20:27 ] |
Tytuł: | Re: Wyswietlenie liczb zmiennoprzeciwnkowych w terminalu |
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ć. |
Autor: | mirekk36 [ 7 sie 2021, o 21:32 ] |
Tytuł: | Re: Wyswietlenie liczb zmiennoprzeciwnkowych w terminalu |
Dodaj w podpisie forum że masz Bluebooka (tą ikonkę sobie zaznacz w ustawieniach) |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |