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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 13 kwi 2025, o 04:24


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
    Autor Wiadomość
    PostNapisane: 19 mar 2021, o 18:53 
    Offline
    Użytkownik

    Dołączył(a): 11 sty 2015
    Posty: 166
    Pomógł: 24

    Wartość RXEN jest zdefiniowana jako makra w bibliotekach <avr/io.h>

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


    i kompilator widzi to jako konkretną wartość liczbową np. 4.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2021, o 18:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 mar 2015
    Posty: 310
    Pomógł: 18

    W eclipse można podejrzeć wartość RXEN najeżdżając wskaźnikiem myszy. Wyświetli się Macro Expansion, naciskając F2 otrzymasz dodatkowe informacje.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2021, o 22:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1168
    Lokalizacja: Kraków
    Pomógł: 93

    edwardkraweznik napisał(a):
    co daje przesunięcie któregokolwiek zera w lewo ?
    Nie zera. Przesuwasz jeden. (1<<x) przesuwa 1 o x miejsc w lewo.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    oznacza, że po tej operacji
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Wiesz, dlaczego?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2021, o 00:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sie 2015
    Posty: 205
    Lokalizacja: UK
    Pomógł: 10

    edwardkraweznik napisał(a):
    nie wiem skąd te 1 tam skoro Initial Value 0 0 0 0 0 0 0 0 ?


    Jeden tam przecież wpisujesz. Jeżeli masz rejestr 8-bitowy o nazwie ABC, który ma wartość zero po resecie to taki zapis :

    ABC = (1<<3);

    Oznacza "Wpisz do rejestru ABC wartość jeden (0000 0001) i przesuń o 3 miejsca w lewo, tzn. 0000 1000".

    ------------------------ [ Dodano po: 3 minutach ]

    Innymi słowami, wykonaj operację w nawiasie i przypisz otrzymaną wartość do rejestru ABC. Bo wydaje mi się, że intuicyjnie (0b 0000 0001 << 3) jest w miarę jasne ;)


    Autor postu otrzymał pochwałę

    _________________
    MMT Technologies



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2021, o 10:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 mar 2015
    Posty: 310
    Pomógł: 18

    Makowka napisał(a):
    Oznacza "Wpisz do rejestru ABC wartość jeden (0000 0001) i przesuń o 3 miejsca w lewo, tzn. 0000 1000".

    Innymi słowami, wykonaj operację w nawiasie i przypisz otrzymaną wartość do rejestru ABC. Bo wydaje mi się, że intuicyjnie (0b 0000 0001 << 3) jest w miarę jasne ;)

    Powyższe słowa oddają sens działania "przesuń". Wg. mnie omawiane zagadnienie jest działaniem logicznym XOR(wstaw TRUE w wyznaczonym miejscu bajtu(rejestrze) bez zmiany innych bitów tego bajtu). Też próbuję zrozumieć podstawianie bitów w bajcie, oraz pokrewny temat - maskowanie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2021, o 10:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2019
    Posty: 145
    Pomógł: 37

    Wirnick napisał(a):
    XOR

    W powyższych działaniach ma zastowanie bitowa suma logiczna (alternatywa, OR), ktrórej operatorem jest "|" albo "bitor".
    Alternatywa wykluczająca (XOR) jest całkiem innym działaniem logicznym, posiadającym swój własny operator "^" lub "xor"
    Więcej: https://en.wikipedia.org/wiki/Bitwise_operations_in_C

    _________________
    Think for yourself and question authority.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2021, o 11:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sie 2015
    Posty: 205
    Lokalizacja: UK
    Pomógł: 10

    Wirnick napisał(a):
    Wg. mnie omawiane zagadnienie jest działaniem logicznym XOR(wstaw TRUE w wyznaczonym miejscu bajtu(rejestrze) bez zmiany innych bitów tego bajtu).

    To w ramach doprecyzowania, jeżeli mamy analogiczną sytuację z rejestrem ABC, tak jak opisałem wyżej, zapis:

    ABC |= (1<<3);

    Oznacza, że wartość 0b0000 1000 zostanie "zORowana" ;) z aktualną wartością rejestru. Czyli, na przykład, jeżeli rejestr ABC ma wartość 0b0101 0101 na start, to:

    ABC = ABC | (1<<3); // Zapis analogiczny do |=

    Ostatecznie:
    0b0101 0101 | 0b0000 1000 wyniesie 0b0101 1101 i taka też wartość zostanie zapisana do ABC.

    _________________
    MMT Technologies



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2021, o 11:30 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 mar 2015
    Posty: 310
    Pomógł: 18

    fofex napisał(a):
    W powyższych działaniach ma zastowanie bitowa suma logiczna (alternatywa, OR), ktrórej operatorem jest "|" albo "bitor".
    Moje założenie było specjalnie fałszywe, by dojść do prawdziwej tezy. Dziękuję!!! Przesunięciem bitów w bajcie zajmują się funkcje ROR lub ROL(doczepiam się do nazewnictwa).



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

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