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? 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 28 maja 2025, o 17:41


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
    Autor Wiadomość
    PostNapisane: 8 lis 2018, o 17:41 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Witam.
    Nic sie tu nie dzieje to trochę rozruszam.
    Robie sterownik i potrzebuje ustawić włączanie w określone dni tygodnia. Myślę to zrobić w ten sposób ze będę zaznaczał ptaszki CheckBoxach i chciałbym to zapisać tak jak można to zrobić w AVR w jednym bajcie np:
    zmienna.1 = 1
    zmienna .2 =0
    itp. W bascomie to nie problem w c pewnie tez ale jak zapisać to w B4a tak żebym mógł wysłać do avr jaka jeden bajt.
    Ewentualnie jakis inny pomysl ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 19:26 
    Offline
    Moderator
    Avatar użytkownika

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

    grzeniu 73 napisał(a):
    ale jak zapisać to w B4a tak żebym mógł wysłać do avr jaka jeden bajt.

    (sorki) ja pierdziu ;) no ale prościej to już się nie da niż w C ;)

    zmienna = 1;

    zmienna = 0;

    i tak samo w B4A .... nawet ciężko tu się nad czymś zastanawiać ;)

    _________________
    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 lis 2018, o 19:49 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3229
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    Zadeklaruj zmienną jako Byte i masz tylko 8 bitów. :p

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 20:07 
    Offline
    Użytkownik

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

    A czy pytanie nie dotyczy czasami odpowiednika pola bitowego z języka C (nie wiem, czy taki istnieje) w B4A?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 20:14 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Jest nad czym sie zastanawiając ,ponieważ chce ustawiać jeden bit w bajcie. Tak żeby 7 dni zmieściło sie w jednym bajcie.
    Gdybym chciał zrobić 7 zmiennych to nie zadawałbym pytania.
    "A czy pytanie nie dotyczy czasami odpowiednika pola bitowego z języka C w B4A?"
    prawdę mówiąc nie wiem jak to sie nazywa w C.
    Ale wiem ze można ustawić konkretny bit w byte. Tak jak napisałem w pierwszym poście. Byc może zle tłumaczę,ale inaczej nie potrafię tego wyjaśnić.
    dim zmienna as byte
    np: poniedzialek = zmienna.0
    wtorek = zmienna.1
    sroda = zmienna.2
    ...
    i teraz zmienna=&b00000000 i wszystkie dni mam wyłączone , robię zmienna= b&00000111 i mam trzy dni włączone i reszta wylaczona.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 20:25 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3229
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    A dlaczego się upierasz przy ustawianiu bitów zamiast wysyłać konkretne cyfry? Czwarte 3, Piątek 4...

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 20:32 
    Offline
    Użytkownik

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

    Nie wiem, jak jest w B4A, ale o ile pamiętam trochę język Basic (VBA) to trzeba użyć triku w stylu:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Ostatnio edytowano 8 lis 2018, o 20:49 przez andrews, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 20:37 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Musze sprawdzić Twój sposób.
    Na razie na kalkulatorze sprawdziłem i to jest to o co mi chodziło. Dzięki

    Chce w jednym bajcie bo mam 16 przekaźników ,kazdy ma 4 programy i kazdy program 7 dni. Byłoby duzo zmiennych. Dzięki zapisom samych bitów uprości to bardzo i zapis i odczyt tego wszystkiego.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 20:55 
    Offline
    Moderator
    Avatar użytkownika

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

    w b4a są tak samo operacje AND i OR więc operacje bitowe - zatem ustawianie bitów czy ich zerowanie odbywa się dokładnie jak w C - tylko inny nieco syntax

    _________________
    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 lis 2018, o 20:58 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Problem w tym ze ani C nie znam ,ani nie mam pojęcia jak to zapisać w B4a .Nawet nie wiem dokładnie czego szukać w helpie. Dlatego poprosiłem o pomoc.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 21:31 
    Offline
    Użytkownik

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

    Chyba jednak mój kod nie zadziała w B4A. Natknąłem się teraz na stronę https://www.b4x.com/android/help/core.html#bit, z której wynika, że do operacji bitowych należy użyć metod obiektu Bit, czyli:
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Dodatkowo argumenty operacji bitowych powinny być typu Int, więc nie jestem pewien, czy to zadziała z Byte (ewentualnie można wykonać operacje na Int, a później obciąć do Byte).

    Nie mam możliwości tego sprawdzić, więc mam nadzieję, że sobie poradzisz ;)
    Powodzenia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2018, o 21:34 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Pewnie. Mniej więcej wiem o co chodzi.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2018, o 19:36 
    Offline
    Użytkownik

    Dołączył(a): 10 sty 2018
    Posty: 160
    Pomógł: 11

    Witam
    pewnie w bascomie chcesz zrobić maskowanie bitów... coś w tę "mańkę"
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    kolega Jaglarz podsunął Ci chyba proste rozwiązanie...wysyłaj cyfry poniedziałek=0, wtorek=1, środa=3 itd

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

    no coś w tym stylu. Tak też możesz ustawić cały port



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lis 2018, o 10:46 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    W bascomie ja wiem jak to zrobić nie wiedziałem jak to ogarnąć w b4a. Ale przy pomocy kodu zamieszczonego wyżej napisałem sobie procedurke.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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