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



Teraz jest 18 lis 2018, o 14:54


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: 502
Pomógł: 26

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: 23658
Lokalizacja: Szczecin
Pomógł: 894

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: 3223
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 82

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



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

Dołączył(a): 07 cze 2016
Posty: 410
Pomógł: 95

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

_________________
Miksowanie kodu C i ASM przy użyciu GCC



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

Dołączył(a): 19 lip 2013
Posty: 502
Pomógł: 26

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: 3223
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 82

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



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

Dołączył(a): 07 cze 2016
Posty: 410
Pomógł: 95

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 ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
Miksowanie kodu C i ASM przy użyciu GCC



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: 502
Pomógł: 26

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: 23658
Lokalizacja: Szczecin
Pomógł: 894

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: 502
Pomógł: 26

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: 410
Pomógł: 95

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

_________________
Miksowanie kodu C i ASM przy użyciu GCC



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

Dołączył(a): 19 lip 2013
Posty: 502
Pomógł: 26

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: 30
Pomógł: 1

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: 502
Pomógł: 26

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