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



Teraz jest 6 kwi 2026, o 11:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 22 mar 2014, o 17:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lut 2014
Posty: 101
Pomógł: 4

Witam ,w mojej małej serii ćwiczeń ,doszedłem do pierwiastkowania
,niestety mam problem z wyświetlaniem liczby po przecinku.

Wiem ,że może się wydawać dziwne ,po co mi to ,ale chciałbym stworzyć sobie małą bazę
mini programików ,dzięki czemu w przyszłości będę mógł wykorzystywać je
w większych projektach.

Pierwszy program w założeniu miał używać modulo % ,do wyświetlenia części po
przecinku ,niestety nie udało się ,jest konflikt zmiennych.

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


Obrazek

Następnie próbowałem dodać funkcję w bibliotece wyświetlacza opartą na itoa ,ma za zadanie
zamienić zmienną float na liczbę (za pomocą tabeli buffer) ,niestety
nie działa ,nie ma przecinka ,myślałem że potraktuje go jak znak i wrzuci w tabelę
,niestety nie.

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


sama funkcja biblioteki LCD wygląda tak:

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



Ostatnią opcją było ftoa ,ale kompilator nie rozpoznaje polecenia ftoa ?

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


Nie wiem jak inaczej można to zrobić ,nie ma w BB ,żadnych informacji o pierwiastkowaniu.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2014, o 14:22 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Nie ma funkcji ftoa. Jest dtostrf. Wszystko masz pod tym linkiem: http://www.nongnu.org/avr-libc/user-man ... tdlib.html

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2014, o 15:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Występuje konflikt typów nie zmiennych. Operator modulo spodziewa się po obu stronach operandów całkowitoliczbowych, a nie rzeczywistych. W Twoim przypadku możliwe jest uzyskanie części dziesiętnej dodatkowo rzutując zmienną wynik na typ uint32_t:

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

Sama funkcja lcd_float może wyglądać w następujący sposób:

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: 29 mar 2014, o 21:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lut 2014
Posty: 101
Pomógł: 4

Już działa rozwiązałem to tak:


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



Wbrew pozorom ,nie zajmuje aż tyle flasha ,jest OK. Jedynie trzeba pogrzebać w opcjach linkera ,by akceptował float i double w sprintf ,ale to już podpatrzyłem z blogu Mirka ,więc już wszystko działa. ;)

_________________
sig off ;(



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 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