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



Teraz jest 11 sty 2025, o 13:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 8 lut 2016, o 16:16 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 42
Pomógł: 0

Chciałbym wyświetlić stan portu "A" Atmega32.
Niby proste, ale chyba mam zaćmę, ponieważ nie radzę sobie z tym.

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


Wyświetla bity portu prawidłowo (11111111) ale zmieniają się bity od 0 do 6.
Bit 7 nawet nie drgnie.
Natomiast gdy użyję:

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



Zmienia się z 255 na 127 więc działa...

Co robię źle i czego nie doczytałem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2016, o 16:24 
Offline
Moderator
Avatar użytkownika

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

No przede wszystkim jak chcesz wyświetlać w postaci liczby dziesiętnej 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.


po co to maskowanie ?

Poza tym nie pokazałeś coś tam zmajstrował w swojej funkcji lcd_bin więc nie wiadomo do końca co i jak

co najwyżej mógłbyś robić jawne rzutowanie

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


jeśli za mocno namieszał .. bo raz masz lcd_bin a raz lcd_int ;)

_________________
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: 8 lut 2016, o 16:44 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 42
Pomógł: 0

Nie, nie, lcd_int użyłem tylko dlatego, bo chciałem sprawdzić czy PINA7 żyje.
Konkretnie potrzebuję wyświetlić stan portu w postaci 11111111, tak dla diagnostyki :)

lcd_bin 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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2016, o 17:31 
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

Użyj swojej funkcji w taki 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.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2016, o 17:50 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 42
Pomógł: 0

Już myślałem że jest ok, ale całość przesuwa gdy bit 7 jest "0". Gdy bity zmieniają sie na pozycjach od 0 do 6 wszystko działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2016, o 18:12 
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

grzesiekk napisał(a):
Już myślałem że jest ok

Bo jest po prostu 127 to 7 cyfr 1, a 255 to 8 cyfr 1.
Zero z przodu znika dla 127 w formie binarnej. To tak samo jak masz 1 i 100 dla liczb dziesiętnych. Nie ma tam 001. Jak chcesz mieć lepiej to wykorzystaj strlen i o tyle ile zmienna w formacie binarnym jest krótsza niż 8 (lub 16) dodaj 0 na początku.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2016, o 18:23 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 42
Pomógł: 0

Strlen... Naprawdę mnie przyćmiło...
Dziekuje za pomoc .



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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