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



Teraz jest 20 wrz 2019, o 19:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 1 wrz 2019, o 16:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 gru 2012
Posty: 77
Lokalizacja: Poznań
Pomógł: 0

Nie ogarniam, może ktoś pomoże:
Próbuje wyświetlić poprzez urata wynik maskowania zmiennej 64 bitowej. A dokładnie sprawdzam czy 9 najbardziej znaczących bitów ma wartość 1.

uart_putint w funkcji main wyświetla wartość prawidłową czyli 1, natomiast funkcje test64 i test64_p wyświetlają wartość 0. Co jest do licha?

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

_________________
#define forever while(1)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2019, o 16:49 
Offline
Moderator
Avatar użytkownika

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

No przecież zależy czym posługujesz się w putint

_________________
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: 1 wrz 2019, o 16:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 gru 2012
Posty: 77
Lokalizacja: Poznań
Pomógł: 0

uart_putint standardowo przyjmuje zmienną typu int, ALE!!!! wynik może przyjąć tylko wartość 0 lub 1 bo jest to porównanie więc tak naprawdę typ zmiennej nie ma znaczenia. Zastanawia mnie dlaczego ta sama funkcja w pętli głównej wyświetla prawidłową wartość a wywołana z poziomu funkcji test64 i test64_p wyświetla wartość 0.

_________________
#define forever while(1)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2019, o 12:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 gru 2012
Posty: 77
Lokalizacja: Poznań
Pomógł: 0

Wrzucam parę cennych informacji na temat błędu dotyczącego operacji AND na liczbach typu uint64_t w avr-gcc

https://stackoverflow.com/questions/50091499/uint64-t-variable-with-operations

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85805

_________________
#define forever while(1)



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 1 gość


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