tag:blogger.com,1999:blog-3960927205450249158.post7656672434563415305..comments2024-03-28T09:15:15.977+01:00Comments on mikrokontrolery avr język c, poradniki, kursy video - eagle: if( ! ( PIND ... operacje bitowe, logiczne - o co chodzi ?mirekk36http://www.blogger.com/profile/11690797724225993397noreply@blogger.comBlogger28125tag:blogger.com,1999:blog-3960927205450249158.post-14737453342042484512014-06-12T21:26:44.656+02:002014-06-12T21:26:44.656+02:00Wg mnie to niedobry sposób aby w ten sposób pokazy...Wg mnie to niedobry sposób aby w ten sposób pokazywać przejście z Bascoma na C ... bo to właśnie jest zmorą bascomowców ... tzn ... to że najczęściej próbują oni pisać w C ale na ZASADACH Bascoma ... no i po kilku chwilach załamka ...<br /><br />nie nie nie ... trzeba spróbować - zostawić na chwilę Bascoma z tyłu - i rozpocząć na prawdę na nowo - wtedy to zadziała .... zapewniam ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-45707739381798474572014-06-12T19:50:27.502+02:002014-06-12T19:50:27.502+02:00To miała być ironia z tą kropką...
Nie neguję przy...To miała być ironia z tą kropką...<br />Nie neguję przydatności przesunięć i (wydaje mi się) że jako tako je rozumiem.<br />Jakby się uprzeć i porobić sobie struktury z polami o wielkości jednego bitu i zrobić parę #define, to zapis programu (przynajmniej takiego ledowo-switchowego 'hello world') zrobi się na pierwszy rzut oka bascomowy ;)<br />A może to pomysł, żeby pokazać że przejście z B do C nie musi okropnie boleć?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-44823074012645786392014-06-12T17:20:41.331+02:002014-06-12T17:20:41.331+02:00Przesunięcie bitowe, w lewo lub prawo, przesunięci...Przesunięcie bitowe, w lewo lub prawo, przesunięcie arytmetyczne, iloczyn bitowy, suma bitowa i negacja bitowa to operacje które sprawiają, że język C staje się pięknym językiem :) Ja też kiedyś pisałem w BASCOMie też pisałem mało optymalny program, ale po jakimś czasie kupiłem książkę P. Borkowskiego AVR & ARM7 i zacząłem pisać w C i powiem jedno. Programy wyglądają bardzo ładnie. Ja myślę, że pod względem kosmetycznym C jest najpiękniejszym językiem. Też na początku bałem się przesunięć bitowych, nie czaiłem czemu wpisuje się liczby typu 0x00 do rejestrów, ale potem wszystko zrozumiałem. Też nie wiedziałem co znaczy (1 << PIN_DIODE) aż zrozumiałem, że to jest to samo co _BV (PIN_DIODE) czyli definiujemy za pomocą #define stałą PIN_DIODE w której umieszczamy pin do którego podpięta jest dioda. Język C jest piękny i bardzo wydajny.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-24779464501885851852014-06-12T12:53:40.493+02:002014-06-12T12:53:40.493+02:00Taaak ;) już widzę atak bascomowców na Xmega ;) .....Taaak ;) już widzę atak bascomowców na Xmega ;) .... masakra - ten kto boi się przesunięć bitowych i tak polegnie i zginie marnie na polu programowania w języku C, nieważne czy to będzie Xmega, PIC, ARM czy dowolny inny procesor. Więc to co mówisz już świadczy o tym, że nie rozumiesz przesunięć i to OK jeszcze jest normalne, bo nie każdy od razu musi rozumieć. Ale można się nauczyć ..... tylko ....<br /><br />... tylko trzeba CHCIEĆ panie kolego .... trzeba chcieć się uczyć programować i poznawać nowe języki, bo akurat tą kropkę to można potłuc o kant (Y) jak to mówią ;) ... ważniejsze są przesunięcia jako podstawowe operacje bitowe, wykorzystywane na co dzień w programowaniu.mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-11282103680232287032014-06-12T12:45:42.069+02:002014-06-12T12:45:42.069+02:00Bascomowcy za to łatwiej przesiądą się na xmega :)...Bascomowcy za to łatwiej przesiądą się na xmega :)<br />Tam zapis "z kropką" to norma.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-54787301246558928992014-06-01T09:22:36.471+02:002014-06-01T09:22:36.471+02:00To właśnie dzięki takim zapisom i ciągłej ucieczce...To właśnie dzięki takim zapisom i ciągłej ucieczce od zrozumienia przesunięć bitowych w C ... ci właśnie Bascomowcy mają taki problem z przejściem na C ... i co chwilę się frustrują. Przecież to jest tylko ucieczka a nie próba zrozumienia ... W C normalne jest zapisanie tego<br /><br />if( !( PIND & (1<<PD2) ) ) ....<br /><br />i w czym problem ?<br /><br />.... a jak już taki Bascomowiec zrozumie że to proste i zaskoczy że tu nawet nie trzeba w głowie żadnych obliczeń robić - to potem sam się uśmiecha w kąciku ust i myśli sobie .... eeeeeh jaki ja wcześniej byłem ...... ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-44560982143575369382014-06-01T00:23:36.716+02:002014-06-01T00:23:36.716+02:00BASCOMowcy pewnie będą zadowoleni:
if ( bit_is_cle...BASCOMowcy pewnie będą zadowoleni:<br />if ( bit_is_clear(PIND, PD2) ) {<br />// coś...<br />}Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-50370456692919512292014-05-31T23:34:51.637+02:002014-05-31T23:34:51.637+02:00Ale ja ciebie dobrze rozumiem ... chciałem ci jedn...Ale ja ciebie dobrze rozumiem ... chciałem ci jednak wyjaśnić od podstaw w czym rzecz, i że to kompletnie nie ma znaczenia czy użyjesz PB0 czy DDB0 czy PORTB0 poza jakimś tam wzrokowym efektem ....<br /><br />Więcej, pomyśl sobie<br /><br />piszę większy blok kodu, np:<br /><br />DDRB |= (1<<PB0)|(1<<PB2)|(1<<PB6)|(1<<PB7);<br /><br />i teraz potrzebuję szybko ustawić JEDYNKI na tych pinach, to robię nawet teraz w tej chwili COPY & PASTE i wklejam niżej całość - zmieniając TYLKO na początku DDRB na PORTB ;)<br /><br />PORTB |= (1<<PB0)|(1<<PB2)|(1<<PB6)|(1<<PB7);<br /><br />a ty byś musiał dłubać jeszcze każdym z nawiasów ;) zgadza się ....<br /><br />No a jeszcze bardziej widoczny przykład gdzie nie ma już kompletnie sensu rozróżniać zapisów DDB0, PB0, PORTB0 tylko używać jednego wybranego ? .. gdy dodatkowo tworzysz sobie na szybko makra do konfiguracji, np<br /><br />#define LED1 (1<<PB3)<br /><br />a później w kodzie będę np ustawiał kierunek i gasił diodę np:<br /><br />DDRB |= LED1;<br />PORTB &= ~LED1;<br /><br />to chyba nie powiesz, że tworzyłbyś z tego powodu zaraz aż dwa dodatkowe zapisy ;) <br /><br />#define LED1DIR (1<<DDB3)<br />#define LED1PORT (1<<PORTB3)<br /><br />żeby później w kodzie pisać:<br /><br />DDRB |= LED1DIR;<br />PORTB &= ~LED1PORT;<br /><br />tzn można - ..... ale to już gdy ktoś jest masochistą ;) ;)<br /><br />mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-27100804017982537672014-05-31T23:01:52.553+02:002014-05-31T23:01:52.553+02:00Ok chyba rozumiem ,zapytałem bo w notach katalogow...Ok chyba rozumiem ,zapytałem bo w notach katalogowych jest właśnie DDRB |= (1<<DDB0);<br />,a w książce nieco inaczej, tą drugą metodą. W sumie jak się zastanowić ,to chyba faktycznie wychodzi na to samo.<br /><br /><br />Mój sposób myślenia opiera się na tym ,że biorę tabelkę rejestrów z PDF i według nazwy ,np. dla TCCR1B bity 2 i 1 to CS12 i CS11, wiec takich nazw używam przy ustawianiu. Dlatego logiczne było dla mnie DDRB |= (1<<DDB0); , oraz PORTB |=(1<<PB0) lub nawet trzymając się tabelki pdf PORTB |= (1<<PORTB0); ,także teraz widzisz że to nie moje wymysły tylko tak to zrozumiałem. Dzięki za wyjaśnienie, chyba teraz rozumiesz skąd się wzięło u mnie to lekkie zamieszanie. :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-80218051692261268392014-05-31T22:20:29.931+02:002014-05-31T22:20:29.931+02:00Ja to NAJBARDZIEJ się dziwię, skąd pomysł że mnie ...Ja to NAJBARDZIEJ się dziwię, skąd pomysł że mnie denerwowałeś rzekomo ? ;) .... <br /><br />ot po prostu chciałem ci wyjaśnić - skąd się biorą takie zapisy ... są to wstępnie predefiniowane nazwy za pomocą zwykłych dyrektyw preprocesora #define, w systemowych plikach nagłówkowych wartości - specyficzne dla każdego procka ...<br /><br />czy nie widzisz tam, że jest np:<br /><br />#define DDB0 0<br /><br />ale tak samo np<br /><br />#define PB0 0 <br /><br />???? czyli obydwie stałe zarówno ta o nazwie DDB0 jak i PB0 reprezentują jedną i tę samą liczbę czyli ZERO ale podobnie jest z DDB1 i PB1 itd itp<br /><br />skąd zatem pomysł że akurat DDB0 jest bardziej prawidłowe niż PB0 ? ;)<br /><br />no! można by się uprzeć i gdy ustawiamy kierunek to pisać<br /><br />DDRB |= (1<<DDB0);<br /><br />ale dla mnie to jest za dużo pisania skoro stała PB0 która również mówi o pinie numer zero, też ma tę samą wartość, więc ja najczęściej zapiszę to<br /><br />DDRB |= (1<<PB0);<br /><br />rozumiesz teraz ? ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-85795169497223544452014-05-31T18:45:35.208+02:002014-05-31T18:45:35.208+02:00Nie chciałem pana zdenerwować. Przeniosło mnie w m...Nie chciałem pana zdenerwować. Przeniosło mnie w miejsce ,gdzie zdefiniowane są makra porty i piny uP , Wynikałoby z tego ,że poprawne jest DDRB &= ~(1<<DDB0); ,choć mogłem coś źle zrozumieć.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-75841536500257329752014-05-31T18:37:39.483+02:002014-05-31T18:37:39.483+02:00A nie zastanowiło cię kiedyś skąd się bierze ? czy...A nie zastanowiło cię kiedyś skąd się bierze ? czy biorą takie oznaczenia jak DDB0, czy PB0 ? czy PORTB ?<br /><br />Jak się dowiedzieć czy poprawne jest DDB0 albo PB0 ? czy to jakaś czarna magia i trzeba sobie zaśmiecać głowę takimi rzeczami ?<br /><br />no to by trzeba było być podwójnym co najmniej może Einsteinem ;)<br /><br />Panie - klikasz i przytrzymujesz lewy klawisz CTRL, podjeżdżasz kursorem mychy w Eclipse nad napis DDB0 albo PB0 albo PORTB .... robi się pod napisem podkreślenie i widać że można kliknąć w tym czasie (trzymania wduszonego CTRL) .... lewy klawisz mychy<br /><br />zrób to .....<br /><br />i zobacz co się stanie<br /><br />zobacz gdzie przeniesie cię Eclipse czyli do jakiego pliku i zobacz sam skąd to się bierze - to warto zrozumieć a później nie będzie trzeba wkuwać takich rzeczy na pamięć ok ? ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-85873251121464559982014-05-31T18:27:05.938+02:002014-05-31T18:27:05.938+02:00Czy zapis zerujący stan rejestru DDR (,chodzi o p...Czy zapis zerujący stan rejestru DDR (,chodzi o pin PB.0 procesora Atmega8 (14 noga))<br /><br />DDRB &= ~(1<<DDB0);<br /><br />jest równoważny temu z BB :<br /><br />DDRB &= ~(1<<PB0);<br /><br />,pytam bo to dla mnie klucz do zrozumienia przesunięć bitowych.<br />Natknąłem się na oba te zapisy ,kompilator oba traktuje jako dobre ,ale na moje oko różnią się ,wolę zapytać kogoś z większym doświadczeniem ,pozdrawiam.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-5650146548858047782014-05-29T06:56:26.410+02:002014-05-29T06:56:26.410+02:00A widzisz jak szybko wyczuwam na odległość gdy kto...A widzisz jak szybko wyczuwam na odległość gdy ktoś siedzi jeszcze dwoma nogami w Bascomie ? ... że jeszcze nie zna i boi się panicznie przesunięć bitowych ? ;)<br /><br />Ale spokojnie - ja na siłę nikogo nie zamierzam przekonywać - to i tak nic nie daje ... Skro dla ciebie to właśnie przesunięcia są głupie, to jeszcze minie "troszkę" czasu jak się pomęczysz z Bascomem....<br /><br />A jak kiedyś chociaż RAZ zachce ci się poczytać i chociaż raz zrozumiesz że operacje przesunięć a szczególnie w takiej postaci<br /><br />(1<<PCx) <br /><br />to nie są żadne "czary mary" i skomplikowane obliczenia, że to pomaga i to bardzo - to wtedy sam się uśmiechniesz jak kiedyś zajrzysz do tych postów.<br /><br />Tymczasem pozostań przy swoim PIND.2 ok ?mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-78938840976561415362014-05-29T01:12:55.418+02:002014-05-29T01:12:55.418+02:00Skoro rozwiązanie wyżej "nie głupie" to ...Skoro rozwiązanie wyżej "nie głupie" to po co się bawić w te przesunięcia???Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-71145902314377434532014-05-27T22:29:28.219+02:002014-05-27T22:29:28.219+02:00hahaha "szansa na sukces" ... hmmm w sum...hahaha "szansa na sukces" ... hmmm w sumie dobre porównanie :)<br /><br />spokojnie no będę starał się nad tym pracowaćmirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-535493073237073232014-05-27T22:28:35.379+02:002014-05-27T22:28:35.379+02:00O widzisz - teraz zaczynam rozumieć co mówisz ;) ....O widzisz - teraz zaczynam rozumieć co mówisz ;) ... Mikrofon jaki posiadam to DOKŁADNIE taka wersja:<br /><br />http://muzyczny.pl/146050_Rode-VideoMic-Rycote-mikrofon-do-kamery-mono-uchwyt-elastyczny-.html?operacja=reklama11<br /><br />gdybyś mógł mi podać jakieś przykładowe linki gdzie np można kupić taki:<br /><br />1. Pop-filtr<br /><br />2. interfejs<br /><br />3. kartę<br /><br />itp ... <br /><br />Tyle, że ja KONIECZNIE muszę mieć mikrofon podłączony do jednej z kamer ... aby później móc dobrze synchronizować dźwięk pomiędzy innymi nagraniami ...<br /><br />gdy kiedyś próbowałem nagrywać dźwięk oddzielnie - to była masakra i zero synchronizacji :( ... no ale też może ja pewnie robiłem to po omacku i amatorsko . Wciąż się tego uczę - i chciałbym się dowiedzieć jak robią to profesjonaliści ;)<br /><br />a sam widzisz że w jednym poradniku mam ujęcia z wielu już kamer, i bez synchronizacji dźwiękiem - byłaby kicha totalna.mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-39632974346949857002014-05-27T21:35:30.057+02:002014-05-27T21:35:30.057+02:00oo właśnie bardzo by się przydało ,ja jeszcze powi...oo właśnie bardzo by się przydało ,ja jeszcze powiem że już zaczynam się gubić w tych wszystkich filmikach bo właściwie nie do końca wiem kiedy powinienem obejrzeć konkretny odcinek "tej szansy na sukces" ;) jak akurat czegoś nie rozumiemRadek Bhttps://www.blogger.com/profile/01746227388052718640noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-7489877074416525602014-05-27T21:01:08.278+02:002014-05-27T21:01:08.278+02:00Sam nie jestem profesjonalistą, ale z dźwiękiem (d...Sam nie jestem profesjonalistą, ale z dźwiękiem (do strony praktycznej) miałem kilka lat doświadczenia. Wprawdzie to ćwierćprofesjonalnie, ale jakieś tam było.<br /><br />Mirku, Ten mikrofon RODE, który posiadasz jest pojemnościowy wielkomembranowy, Shotgun czy dynamiczny? RODE ma przyzwoite mikrofony. Im więcej powiesz, tym łatwiej będzie pomóc ;) W końcu wszyscy na tym skorzystamy :)<br /><br />Pop-filtr eliminuje zgłoski wybuchowe (te, podczas, których z ust wydostaje się dużo powietrza; np "b"). Efektem tych zgłosek są mocne skoki amplitudy i charakterystyczne "szarpnięcia" w nagraniu. Ja sobie zrobiłem za 10zł, ale można też kupić, wtedy jest to koszt co najmniej 5x większy. <br />Interfejs, to po prostu zewnętrzna karta dźwiękowa wyższej klasy podpinana pod FireWire (głównie te droższe) lub USB (tańsze). Interfejs różni się tym, że posiada złącze XLR z zasilaniem Phantom (chociaż zdarza się i bez, dlatego trzeba czytać), dla mikrofonów pojemnościowych. <br />Co do wygłuszania, to wszystko zależy od mikrofonu. Pojemnościowy wielkomembranowy (studyjny) można stosunkowo łatwo i tanio wygłuszyć. Kupujesz piankę wygłuszającą i siatkę metalową, którą wyginasz w półkole i naklejasz na nią piankę. Gotowe! Mikrofon na statywie wewnątrz tego półkola i już pozbywasz się znacznej części upierdliwego echa ;)piotreks-89https://www.blogger.com/profile/13165108165023610490noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-72097872684985260482014-05-26T20:08:52.717+02:002014-05-26T20:08:52.717+02:00Czepiasz się mikrofonu, jeszcze dobrze nie rozpako...Czepiasz się mikrofonu, jeszcze dobrze nie rozpakował się w nowym lokalu a już poradnik na blogu.<br /><br />Z tym mikro to mnie wyprzedziłeś ;)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-83470182036386390352014-05-26T15:15:06.195+02:002014-05-26T15:15:06.195+02:00No tak, na razie zainwestowałem w mikrofon firmy R...No tak, na razie zainwestowałem w mikrofon firmy RODE, jakość się poprawiła jakiś czas temu i to o niebo od pierwszych moich poradników nagrywanych mikrofonikami z kamer usb albo ze słuchawek ....<br /><br />lecz teraz pewnie można byłoby to jeszcze polepszyć - tak jak piszesz ...<br /><br />tylko dla mnie to już troszkę czarna magia te np: pop-filtr, albo interfejs do tego ? .... nad wygłuszaniem popracuję bo za duże echo mam w nowym pomieszczeniu ....<br /><br />ale to musiałby mi jakiś dźwiękowiec dobrych wskazówek udzielić odnośnie mikrofonu i nagrywania .... bo to coraz droższy sprzęt a tak w ciemno nie chcę kupować czegoś ... bo można się przejechać ;) .... zresztą na razie to i tak się już przeinwestowałem prawie ... (tyle tylko że to moje kolejne hobby - a tu jak wiadomo - nieraz człowiek kosztów nie liczy ..... aż zaboli) ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-26647643374319390882014-05-26T14:56:13.909+02:002014-05-26T14:56:13.909+02:00Mirku, Twoje materiały poza ogromną wiedzą, którą ...Mirku, Twoje materiały poza ogromną wiedzą, którą przekazuję, posiadają coraz to lepszą jakość. Z odcinka, na odcinek ogląda się coraz przyjemniej :) <br /><br />Do czego zmierzam - jak już poprzednicy zauważyli, to Twój pierwszy film w FullHD. Mnie jednak brakuje jednego - dobrej jakości dźwięku. Prawdziwy wielkomembranowy mikrofon pojemnościowy + pop-filtr + interfejs + statyw + wygłuszenie (które można zrobić samemu; pop-filtr w sumie też) i masz dźwięk jakości studyjnej :) Wprawdzie jest to kolejna inwestycja, ale będzie krokiem do pełni profesjonalizmy. <br /><br />Życzę kolejnych udanych poradników! ;)piotreks-89https://www.blogger.com/profile/13165108165023610490noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-45077004370296297882014-05-26T12:57:14.702+02:002014-05-26T12:57:14.702+02:00Tak zabiorę się również za te adnotacje o których ...Tak zabiorę się również za te adnotacje o których mówisz ... tylko zwykle z czasem i organizacją tego wszystkiego mam problem ... ale wiem, i masz rację - to bardzo ważne .... postaram sięmirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-31823721604517989322014-05-26T12:35:40.226+02:002014-05-26T12:35:40.226+02:00Mirku, a ja mam taką luźną propozycję.
Może dodawa...Mirku, a ja mam taką luźną propozycję.<br />Może dodawaj adnotację do swoich filmów(książek też to może dotyczyć) np. od 1:59, kiedy wspominasz o swoim wcześniejszym poradniku. Ludzie nie musieliby wtedy szukać filmów na twoim kanale, czy adresu sklepu, gdzie nabyć książkę, tylko by sobie kliknęli w okienko ;). Szczególnie przydatne by to było dla początkujących.<br />Pozdrawiam i czekam na kolejny poradnik o wstawkach w ASM/Magic ledach ;).Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-16548514160942547882014-05-26T11:29:45.518+02:002014-05-26T11:29:45.518+02:00Dokładnie tak, Full HD ;) ciekaw byłem kto pierwsz...Dokładnie tak, Full HD ;) ciekaw byłem kto pierwszy to zauważy ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.com