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



Teraz jest 11 kwi 2026, o 12:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 19 lip 2015, o 09:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sie 2013
Posty: 165
Lokalizacja: Sycyna Południowa
Pomógł: 4

Witam. Panowie mam nieduży problem z moim urządzeniem które od jakiegoś czasu programuje. Jest w nim pomiar napięcia akumulatora 12V. Skorzystałem tutaj z poradnika Mirka i zaimplementowałem oprócz uśredniania sposób na wyświetlanie napięcia na LCD:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Kod działa super, ale napięcia mierzone są z dokładnością do 2 miejsc po przecinku a wolałbym żeby pomiar był ograniczony tylko do jednego miejsca po przecinku. Jak mógłbym to załatwić? Proszę o podpowiedź :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2015, o 11:37 
Offline
Użytkownik

Dołączył(a): 14 paź 2012
Posty: 43
Lokalizacja: Szczecin
Pomógł: 0

Wcześniej w kodzie jest wyliczone część dziesiętna cz_d i część ułamkowa cz_u. Odbywa się to za pomocą cz_u=(wynik/1000) %100;
czyli np. 25,34560/1000=0,0253456 i po operacji modulo 100 w cz_u będzie 02. Gdyby było modulo 10 to w cz_u byłoby 0.
Tak przynajmniej mi się wydaje :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2015, o 12:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Najprościej to podziel liczbę w zmiennej divmod.rem przez 10 przed zamianą jej na stringa np. tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2015, o 14:30 
Offline
Użytkownik

Dołączył(a): 01 sty 2014
Posty: 116
Pomógł: 14

Możesz także: pomnożyć liczbę przez 10, zaokrąglić (round, floor, ceil - w zależności od tego jak ma być przybliżenie zrobione), podzielić przez 10, wyświetlić



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2015, o 23:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sie 2013
Posty: 165
Lokalizacja: Sycyna Południowa
Pomógł: 4

Że ja o tym wcześniej nie pomyślałem, kurde aż mi wstyd :P A ja kombinowałem jak koń pod górę ech...
Obrazek

Dziękuję za pomoc Panowie :)



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: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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