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



Teraz jest 15 sty 2026, o 17:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 22 sie 2013, o 22:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

Witam,
Piszę sobie taki mały kodzik.
Mam dwie funkcje.
void SendChar(char czar);
oraz
void SendString(char * str,uint8_t czas);

Funkcja SendChar działa znakomicie
Natomiast funkcja void SendString(char * str,uint8_t czas);
Również działa, ale dostaje warninga przy niej.

Cała funkcja SendString wygląda tak(jest podobna do funkcji lcd_string do wyświetlacza alfanumerycznego z BlueBooka
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Kod warninga jaki dostaję jest taki:
Kod:
large integer implicitly truncated to unsigned type

Da się jakoś temu zaradzić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2013, o 22:22 
Offline
Moderator
Avatar użytkownika

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

xamrex napisał(a):
Da się jakoś temu zaradzić?


Ba! nie dość , że się da to zawsze trzeba zaradzić ... tyle że nie wiadomo dokładnie której linii dotyczy ten warning - strasznie nieprecyzyjnie opisałeś problem - to już trzeba było dać zrzut ekranu z konsoli i kodu źródłowego żeby linie było widać

ale tak na pierwszy rzut oka to powiedz mi o co tu chodzi ?

przekazujesz czas jako uint8_t a potem w pętli porównujesz do i które jest uint16_t .... jaki sens żeby i miało 16 bitów albo jaki sens żeby czas miał 8 bitów
albo

albo panie kochany pewnie wywołujesz funkcję z argumentem czas większym niż 255 i się dziwisz dlaczego ci obcina ? ;)

_________________
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: 23 sie 2013, o 06:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

No tak :D
Problem jest z argumentem 1 bajtowym czas;)
Rzeczywiście wywoływałem funkcję tak:
void SendString("Napis",500);
Jak wrócę do domu to zmienię
Kod:
void SendString(char * str,uint8_t czas)

na
Kod:
void SendString(char * str,uint16_t czas)

I pewnie już warnina nie będzie :))

I jeszcze jedne pytanie:
Czy mogę tę funkcję uprośić(wyrzucając zmienną znak).
Czyli zamiast:
Składnia: [ Pobierz ] [ Ukryj ]
język csharp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

to:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2013, o 06:29 
Offline
Moderator
Avatar użytkownika

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

no pomysl , w tym drugim przypadku str++ zostanie zwiekszony o 1 i co wysle Sendchar() ?? ;) jak juz to str++ przenies do sendchar, wtedy sie uda ;)

_________________
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: 23 sie 2013, o 07:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

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

Tak będzie dobrze?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2013, o 08:49 
Offline
Moderator
Avatar użytkownika

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

tak będzie ok tylko pamiętaj o tym

uint8_t czas

;)


Autor postu otrzymał pochwałę

_________________
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 5 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