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



Teraz jest 29 mar 2024, o 07:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 3 lut 2022, o 16:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 485
Lokalizacja: Siedlce
Pomógł: 9

A więc jak w temacie mam taką funkcję do wyświetlania na LD2x16 HDD44780
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Funkcja dotyczy tego urządzenia:
https://www.youtube.com/watch?v=b4VW8UY ... nel=RadekB

Mimo że nawet nie oczekuje ujemnej wartości bo zmienna jest
uint32t rezystor
mimo że nawet daje warunek przed
if(rezystor<0)rezystor=0;
lcd_long(rezystor); to na LCD mam jakieś bzdurne ujemne wartości np. -398

Jak się tego pozbyć? Oczywiście oczekuje 0ra ;)

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2022, o 20:39 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Zamiast funkcji ltoa spróbuj użyć ultoa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2022, o 20:45 
Offline
Użytkownik

Dołączył(a): 28 maja 2020
Posty: 52
Lokalizacja: Szczecin - Goleniów
Pomógł: 0

a czasem nie przekroczony jest zakres wartości liczbowej....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2022, o 11:22 
Offline
Moderator
Avatar użytkownika

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

RadekB86 napisał(a):
Jak się tego pozbyć?

A w Bluebooku jest to opisane ... i nie chodzi o żadne pozbywanie się, tylko o zrozumienie jak działają funkcje typu itoa, ltoa czy utoa gdzie proszę w książce aby sobie zajrzeć do opisu toolchaina w PDF, i nawet jest sugestia w książce żeby sobie taką funkcję napisać oddzielną dla wyświetlania liczb bez znaku dużo większych, bo samo próbowanie na oślep funkcji utoa czy ultoa bez zrozumienia o co chodzi i tak za chwilę odezwie się u ciebie problemem - gdy będziesz chciał wyświetlić liczbę większą niż 65535 bo typ argumentu jest za mały a wynik na LCD cię znowu zdziwi

_________________
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: 6 lut 2022, o 12:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 485
Lokalizacja: Siedlce
Pomógł: 9

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


Teraz znowu mam efekt że naprzemiennie wyświetla mi się 0 i 398 napisze od razu żeby nie było wątpliwości że jest to rezystancja która wynika z obliczenia na podstawie pomiaru z ADC tutaj wygląd funkcji która mi oblicza tą rezystancję:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



wywołuję ją w ten 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.

(do tego dodam że przewód ma długość 4,5m więc spora antena ;) ) ale mając krótszy 20 cm też jest podobnie :mrgreen:

_________________
Ucz się ucz ,bo po to tutaj jesteś...



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