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



Teraz jest 8 lut 2026, o 12:02


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 26 ] 
Autor Wiadomość
PostNapisane: 16 paź 2015, o 17:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

Witam!
Mam problem w rozszyfrowaniu pewnego elementu w tym kodzie. A mianowicie: co to jest to "_BV"? Nie widać żadnych definicji dla preprocesora, więc nie rozumiem tego. Program ma za zadanie migać dwoma diodami, a po wciśnięciu przycisku zmienić opóźnienie między miganiem. Program banalny, sam (nie chwaląc się) napisałbym coś takiego w z palcem w nosie, tyle, że z pomocą dyrektywy "#define" albo po prostu "na sucho".
Oto kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jest to oczywiście kod nie mojego autorstwa: http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=1
Tam też jest gif pokazujący działanie programu.

Proszę o pomoc i z góry dziękuję! ;-)

_________________
Pomagać i prosić o pomoc ;-)



Ostatnio edytowano 17 paź 2015, o 19:21 przez Gimbul, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2015, o 17:48 
Offline
Moderator
Avatar użytkownika

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

_BV(1) - Bit Value - no nie mów, że nie zajrzałeś nawet RAZ do dokumentacji GCC .... to jest dokładnie to samo co

(1<<1)

Dla mnie - makr _BV() używają początkujący, którzy boją się (czytaj nie rozumieją) przesunięć bitowych a później zjadają na tym zęby w C


Autor postu otrzymał pochwałę

_________________
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: 16 paź 2015, o 17:52 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

DDRB |= _BV(3) To to samo co: DDRB |= (1<<3)
Takie makro ułatwiające w bibliotece io.h
(chyba) :P

Mirek o ile tak mogę mnie wyprzedził. :P


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2015, o 18:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

Ahaaaaa... ;-)
mirekk36 napisał(a):
no nie mów, że nie zajrzałeś nawet RAZ do dokumentacji GCC ....

Przyznaję się bez bicia, że nie zajrzałem;-)
mirekk36 napisał(a):
Dla mnie - makr _BV() używają początkujący, którzy boją się (czytaj nie rozumieją) przesunięć bitowych a później zjadają na tym zęby w C


Co jak co, ale przesunięcia bitowe to jedna z rzeczy, które zrozumiałem najlepiej z BB.
Od początku korzystam tylko i wyłącznie z przesunięć bitowych, ewentualnie, żeby ładniej i czytelniej wyglądało uyżwam dyrektywy "#define", a z takimi makrami spotykam się pierwszy raz. Być może autor tego kursu nie zrozumiał przsunięć bitowych... ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2015, o 18:56 
Offline
Moderator
Avatar użytkownika

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

Gimbul napisał(a):
Być może autor tego kursu nie zrozumiał przsunięć bitowych...

Niestety autor tego kursu nie tylko tego nie zrozumiał ... więc polecam te kursy brać z dużą ostrożnością bo powodują złe nawyki programowania.

Wystarczy spojrzeć na KOCIE makro w programie

#define F_CPU 1000000L

które tępię na tym forum ogniem i mieczem - a i tak co chwilę dorasta .... masakra ....

_________________
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: 16 paź 2015, o 19:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

Panie Mirku, co Pan zrobisz jak Pan nic nie zrobisz... ;-)
Skoro oni wolą "zabrudzać" sobie kod tymi makrami to niech tak robią, tylko niech potem nie piszą na forum albo do Pana, że coś nie wyszło, bo użyłem makra "F_CPU".

A tak na marginesie, to dziękuję Panu za zwrócenie uwagi, bo tak na prawdę to sam tego nie zauważyłem. ;-) Nie patrzyłem na górę kod tylko skupiałem się na tych "dziwnych" i obcych mi makrach "Bit_Value" masakra ;-)... przecież to jest trudniejsze i bardziej zagmatwane niż przesunięcia. ;-)

Ale co zrobisz, jak nic nie zrobisz... ;-)
Niech se utrudniają życie. ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2015, o 19:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

mirekk36 napisał(a):
które tępię na tym forum ogniem i mieczem

...bo to za przeproszeniem kupą Mości Panowie trza :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2015, o 19:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

kicajek napisał(a):
...bo to za przeproszeniem kupą Mości Panowie trza


Hahahahahah... ;-)
Ciekawe czy taka taktyka zadziałałaby na tych (jak to Pan Mirek nazywa) malkontentów?

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2015, o 20:51 
Offline
Moderator
Avatar użytkownika

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

kicajek napisał(a):
...bo to za przeproszeniem kupą Mości Panowie trza


Ale to nie żart - miło by było jakby KAŻDY na forum, kto zobaczy takie coś - to od razu pisał - że TEGO się nie robi w kodzie i że wręcz to jest zabronione na naszym forum ;)

_________________
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: 17 paź 2015, o 14:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

Dziękuję za propozycję od razu wcielam to w życie. ;-)
NA ZBARAŻ...!!! ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 15:00 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8630
Pomógł: 338

Gimbul napisał(a):
Dziękuję za propozycję od razu wcielam to w życie.
NA ZBARAŻ...!!!


ale na początek może popraw wstawianie listingu zgodnie z zasadami obowiązującymi na forum : topic7402.html
:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 19:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

SunRiver napisał(a):
ale na początek może popraw wstawianie listingu zgodnie z zasadami obowiązującymi na forum : topic7402.html

Mam rozumieć, że kolega wytyka mi moje roztargnienie w pisaniu tematu...? ;-)
Nie obrażam się wcale. Tak na prawdę to nie wiedziałem, że trzeba wybierać konkretny typ kodu.
Dziękuję za zwrócenie uwagi.
Pozdrawiam

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 19:15 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8630
Pomógł: 338

Gimbul napisał(a):
Mam rozumieć, że kolega wytyka mi moje roztargnienie w pisaniu tematu...?
Nie obrażam się wcale. Tak na prawdę to nie wiedziałem, że trzeba wybierać konkretny typ kodu.
Dziękuję za zwrócenie uwagi.


Nic koledze nie wytykam , ale mamy kilka zasad których należy przestrzegać i tylko uprzejmie o tym przypominam
gdyż z autopsji znam problem userów , którym się nie chce po prostu przeczytać jak wstawić Listing czy fotki na forum :)

A wstawiony tak jak to zrobił kolega jest nie czytelny .... i utrudnia analizę ---> PROSZĘ TO POPRAWIĆ przez edycję postu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 19:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

Oczywiście już poprawiam. ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 19:27 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8630
Pomógł: 338

Gimbul napisał(a):
Oczywiście już poprawiam.


Dziękuję !! :)
Prawda że tek jest dużo czytelniej ??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 19:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

No, rzeczywiście. ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 19:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Gimbul napisał(a):
Dziękuję za propozycję od razu wcielam to w życie. ;-)

Wciąż w tym kodzie jest niedozwolona/zabroniona na tym forum linijka. Aż kłuje w oczy! ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 19:54 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8630
Pomógł: 338

anshar napisał(a):
Wciąż w tym kodzie jest niedozwolona/zabroniona na tym forum linijka. Aż kłuje w oczy!


została już oznakowana i napiętnowana :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 20:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

To nie moja wina... ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 20:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A nie ładniej byłoby tak
SunRiver napisał(a):
została już oznakowana i napiętnowana :)

:D
Gimbul napisał(a):
To nie moja wina... ;-)

A czyja? ;)

Nie lepiej byłoby to napisać z przesunięciami bitowymi?
W ten 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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 20:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

anshar napisał(a):
Gimbul napisał(a):
To nie moja wina... ;-)

A czyja? ;)

Nie lepiej byłoby to napisać z przesunięciami bitowymi?
W ten 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.


A czytałeś 1 post?
Autor pyta o co chodzi w kodzie.



Gimbul napisał(a):
Witam!
Mam problem w rozszyfrowaniu pewnego elementu w tym kodzie. A mianowicie: co to jest to "_BV"? Nie widać żadnych definicji dla preprocesora, więc nie rozumiem tego.

Proszę o pomoc i z góry dziękuję! ;-)


I już uzyskał odpowiedź prędzej. Więc zbytnio nie rozumię twojego posta.
Autor już wie że to funkcja zaimplementowana w gcc a przesunięcia bitowe są lepsze i czytelniejsze.

Więc to nie jego kod. A pewne jest to:
anshar napisał(a):

Nie lepiej byłoby to napisać z przesunięciami bitowymi?


Pewnie że lepiej i czytelniej.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 20:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 kwi 2015
Posty: 60
Lokalizacja: Bieruń Nowy
Pomógł: 0

majster napisał(a):
anshar napisał(a):
Gimbul napisał(a):
To nie moja wina... ;-)

A czyja? ;)

Nie lepiej byłoby to napisać z przesunięciami bitowymi?
W ten 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.


A czytałeś 1 post?
Autor pyta o co chodzi w kodzie.



Gimbul napisał(a):
Witam!
Mam problem w rozszyfrowaniu pewnego elementu w tym kodzie. A mianowicie: co to jest to "_BV"? Nie widać żadnych definicji dla preprocesora, więc nie rozumiem tego.

Proszę o pomoc i z góry dziękuję! ;-)


I już uzyskał odpowiedź prędzej. Więc zbytnio nie rozumię twojego posta.
Autor już wie że to funkcja zaimplementowana w gcc a przesunięcia bitowe są lepsze i czytelniejsze.

Więc to nie jego kod. A pewne jest to:
anshar napisał(a):

Nie lepiej byłoby to napisać z przesunięciami bitowymi?


Pewnie że lepiej i czytelniej.

Namazane ze smarta.


Dokładnie, dziękuję koledze majstrowi. ;-)

_________________
Pomagać i prosić o pomoc ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 20:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

majster napisał(a):
Więc zbytnio nie rozumię twojego posta.[/quote
majster napisał(a):
Więc zbytnio nie rozumię twojego posta.


Już tłumaczę. Autor wkleił kod innego autora, kod ten niestety nie jest godny naśladowania i fajnie było by gdyby ktoś pokazał jak to powinno wyglądać z przesunięciami bitowymi, po to, by inni "całkowicie" początkujący nie popełniali na starcie takich błędów.

Zanim trafiłem na blog pana Mirka itp itd szukałem informacji w internecie, w którym moim zdaniem, ponad połowa kodów jest napisana źle. Pamiętam ile czasu wtedy zmarnowałem. Chciałbym tego zaoszczędzić innym.
Jeśli zrobiłem źle to przepraszam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 21:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

anshar napisał(a):
Jeśli zrobiłem źle to przepraszam.



Źle nie zrobiłeś ... bardzo dobrze że zwróciłeś na to uwagę i chwała ci za to że nawet podałeś kod z przesunięciami bitowymi ale temat trzeba czytać cały a nie część :) zobacz :)

Pozwolę sobie zacytować by tak jak piszesz aby "całkowicie" początkujący nie popełniali takich błędów na starcie wystarczy zacytować Mirka z kilku postów wyżej:

mirekk36 napisał(a):
_BV(1) - Bit Value - no nie mów, że nie zajrzałeś nawet RAZ do dokumentacji GCC .... to jest dokładnie to samo co

(1<<1)

Dla mnie - makr _BV() używają początkujący, którzy boją się (czytaj nie rozumieją) przesunięć bitowych a później zjadają na tym zęby w C



mirekk36 napisał(a):
Gimbul napisał(a):
Być może autor tego kursu nie zrozumiał przsunięć bitowych...

Niestety autor tego kursu nie tylko tego nie zrozumiał ... więc polecam te kursy brać z dużą ostrożnością bo powodują złe nawyki programowania.

Wystarczy spojrzeć na KOCIE makro w programie

#define F_CPU 1000000L

które tępię na tym forum ogniem i mieczem - a i tak co chwilę dorasta .... masakra ....




Dlatego tak jak piszę ... -> tematy czyta się w całości co tyczy się jak najbardziej początkujących wtedy nie popełnią błędów jak w obcym kodzie który podał autor ...


Gimbul napisał(a):
Dokładnie, dziękuję koledze majstrowi. ;-)



Nie ma za co dziękować po prostu czy osoba obeznana czy "całkowicie początkująca" trzeba czytać tematy w całości :)

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 22:06 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8630
Pomógł: 338

A ja informuję iż już wystarczy tego przekomarzania się kto ma większą rację.
za kontynuację niepotrzebnej dyskusji oraz OT - od tej pory nagradzam ostrzeżeniem.

:P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2015, o 23:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

SunRiver napisał(a):
A ja informuję iż już wystarczy tego przekomarzania się kto ma większą rację.
za kontynuację niepotrzebnej dyskusji oraz OT - od tej pory nagradzam ostrzeżeniem.

:P


Sn ale przecież nikt się nie przekomarza :) każdy tutaj ma rację :) tak jak napisałem fajnie że anshar dał kompletne rozwiązanie a naszą dyskusję w między mną a anshar kierujemy do początkujących by więcej zrozumieli i by nie chcieli tak jak my kiedyś szybko już teraz ... bo to się później mści.

Nie mniej nasza konwersacja uczy osoby które wpadną na ten topic że "szybko to za szybko" a wolno to i przyjemnie i dobrze :)

_________________
Usługi druku przestrzennego - www.drumik.pl



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

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