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



Teraz jest 16 lis 2024, o 22:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 5 wrz 2012, o 19:06 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Witam. Dzisiaj męczę odbieranie komend pilota w standardzie RC5. Niby rozumiem jej działanie, niby wszystko jest jasne, ale chyba przeoczyłem moment, w którym preskaler przerwania uzalezniony jest od F-CPU. Chodzi mi o to, że moja atmega ma F_CPU 11059200, a nie wiem, jakie F_CPU miał Mirek w trakcie pisania tego programu. Pewnie zadaję jakieś banalne pytanie albo coś zwyczajnie przeoczyłem w książce.


Pewnie że banalne pytanie i każdy wie dokładnie jakie Mirek miał taktowanie w swoich projektach - wystarczy odpalić projekt z DVD i zajrzeć w ustawienia projektu "Properties" a tam w Target Hardware - i każdy ma wszystko jak na dłoni...


Za to kolega jak zwykle zadając takie pytanie pokazuje że nie przeczytał najpierw dokładnie całego tego rozdziału bo jest w nim WYRAŹNIE napisane, że biblioteka jest tak napisana że taktowanie można mieć DOWOLNE ! ... ;) i to jest jej zaletą a na dodatek pokazuję i opisuję jak się takie rzeczy robi ..... to jest jedna z najważniejszych rzeczy w tym rozdziale.

Więc zapraszam do lektury dokładnej najpierw OK? szczególnie strona 313

_________________
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: 5 wrz 2012, o 20:48 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Antystatyczny napisał(a):
Aha, jeszcze jedno pytanie. TSOP ma wewnętrzny pull up 30k. Do tego mamy zewnętrzny pull up 10k, a w programie mimo tych pull up'ów jest włączany wewnętrzny (w AVR) pull up. Działanie celowe, czy nie bardzo? Chodzi mi o to, czy świadomie tak postapiłeś, czy raczej z przyzwyczajenia.

Konfigurujesz pin jako wejście. Jak go nie podciągniesz to Ci pływa i możesz dostać cokolwiek. Masz wtedy po prostu wejście w stanie Hi-Z (wysokiej impedancji). Dlatego należy włączyć wewnętrzne podciąganie.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2012, o 20:51 
Offline
Moderator
Avatar użytkownika

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

MirkoT napisał(a):
Antystatyczny napisał(a):
Aha, jeszcze jedno pytanie. TSOP ma wewnętrzny pull up 30k. Do tego mamy zewnętrzny pull up 10k, a w programie mimo tych pull up'ów jest włączany wewnętrzny (w AVR) pull up. Działanie celowe, czy nie bardzo? Chodzi mi o to, czy świadomie tak postapiłeś, czy raczej z przyzwyczajenia.

Konfigurujesz pin jako wejście. Jak go nie podciągniesz to Ci pływa i możesz dostać cokolwiek. Masz wtedy po prostu wejście w stanie Hi-Z (wysokiej impedancji). Dlatego należy włączyć wewnętrzne podciąganie.


W przypadku użycia zewnętrznego rezystora podciągającego 10K można byłoby spokojnie pominąć wewn. podciąganie.

_________________
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: 6 wrz 2012, o 22:13 
Offline
Moderator
Avatar użytkownika

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

Wykorzystujemy tu panie kolego wejście przechwytywania ICP1 (alternatywna funckja pinu PD6 w ATmega32). Działa to tak, że konfigurujemy sobie to w ten sposób, że timer zaczyna zliczać od momentu w którym nastąpi zbocze. Jak widzisz w trakcie wywoływania przerwania często zmieniamy ustawienie i raz reaguje na zbocze opadające a innym razem narastające.

Wystartować ma gdy nastąpi pierwsze zbocze opadające czyli w środku pierwszego bitu startu ramki RC5.

Oczywiście że od tego momentu zaczyna nam timer1 zliczać i właśnie posługujemy się rejestrem przechwytywania ICR1, który to zlicza impulsy zgodnie z częstotliwością ustawioną za pomocą preskalera. Tak się składa że dla F_CPU 8MHz , każdy impuls to akurat dokładnie mniej więcej 1us ;) .... zatem od pierwszego zbocza zaczyna się zliczanie i przy kolejnym zboczu sprawdzamy dzięki temu ile us upłynęło do pomiaru każdego odcinka ramki

wykorzystujemy do tego zmienną statyczną w której zapamiętujemy poprzedni pomiar a po wejściu w przerwanie zawsze obliczamy PulseWidth odejmując od naliczonej wartości w ICR1 tą wartość która była zliczona poprzednio. Dzięki czemu jak mówiłem pięknie otrzymujemy dokładny pomiar co do 1us każdej części półbitu w ramce RC5 i możemy kontrolować czy przypadkiem się nie rozjechała ramka? czy nie wpadły zakłócenia (jakieś krótkie szpilki) itp .... jednocześnie zliczając te prawidłowe. Gdy doliczymy się wszystkich bitów w ramce to mamy komplet i formujemy już gotowe command i address

_________________
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: 6 wrz 2012, o 22:40 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Zmienna statyczna deklarowana w ciele funkcji jest automatycznie inicjalizowana wartością 0?


Oczywiście, że tak i na pewno pisałem o tym w książce niebieskiej, na 100% ale pewnie umknęło.

A musisz to zapamiętać, ponieważ to jest BARDZO BARDZO ważna rzecz a nie takie coś tam sobie.

Opatrzenie zmiennej lokalnej słówkiem static, wewnątrz funkcji (czy kodu przerwania) powoduje, że z punktu widzenia zakresu jej widoczności i działania zachowuje się jak zmienna lokalna. Ale różni się ona od zmiennej lokalnej tym, że od razu rezerwowana jest dla niej pamięć na początku RAM w obszarze zmiennych globalnych a nie na STOSIE panie kochany tak jak to jest ze zmiennymi lokalnymi inaczej zwanymi (automatycznymi) ....

polecam ci jeszcze raz przeczytać rozdział o funkcjach i stosie bo tam to tłumaczę dokładnie i nie po to żeby cię na siłę odsyłać do książki (wyjaśniam przecież i przypominam na wyżej) ....

nie mniej jednak może dużo więcej informacji przeoczyłeś o tym czym się różnią zmienne lokalne od automatycznych a to wpłynie szybko w niedalekiej przyszłości na spore braki ....

dodam jeszcze, że skoro zmienna definiowana jest nie na stosie a w obszarze zmiennych globalnych to dlatego tak jak i one jest inicjalizowana zerem. A dokładna analiza tego co się dzieje ze zmiennymi pozwoli ci w przyszłości lepiej panować nad stosem - OK?

_________________
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: 7 wrz 2012, o 08:02 
Offline
Moderator
Avatar użytkownika

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

GwynBleidD napisał(a):
Cytuj:
dokładnie mniej więcej


Przepraszam, że z nutką humoru się wcinam, ale bawią mnie trochę takie zwroty :D Jak coś może być dokładne i mniej więcej na raz? a może dokładnie się odnosi do mniej więcej i podkreśla jego znaczenie? ;>

A tak już bardziej poważnie, zauważyłem babola w poście i zwracam delikatnie na niego uwagę :)


A mnie troszkę bawią takie wcięcia. Tzn z jednej strony uważam, że masz 100% racji bo trzeba bezwzględnie dbać o język polski, jestem za.

ale z drugiej strony pośpiech wymusza czasem popełnianie takich durnych błędów hmmm w tym przypadku skrótów myślowych ....

bo gdybym napisał, że :

"chodzi dokładnie o to, że gdy ustawimy preskaler tak aby uzyskać mniej więcej rozdzielczość 1us, to ....."

zatem z trzeciej strony jeśli taka może być .... coraz częściej widzę, że robisz takich wtrąceń na forum i wcale nie tylko do mnie .... Jeśli czujesz że masz takie powołanie to pisz ..... ale uważaj .... bo z jednej strony po raz kolejny mnie karcisz w innym wątku - za ton rzekomo z elektrody - a sam swoimi ironicznymi uwagami, że coś cię śmieszy - zachowujesz się gorzej - bo sam przyznajesz w innym poście że w zasadzie to się czepiasz....

Gwyn .... ja cię po raz kolejny proszę - bo co jakiś czas swoimi uwagami i skarceniami zaczynasz przesadzać (już w tamtym temacie nie chciałem ci odpowiadać, żeby nowy użytkownik Zhan nie pomyślał że znowu się ja - jego osoby w jakiś sposób czepiam) . Na drugi raz jeśli będzie to się w uporczywy sposób objawiało to napiszę ci już o tym na Priv ....
I tobie też polecam takie publiczne skarcenia albo połajanki pisać jak już to na PRIV, bo na prawdę pomimo wszystkiego dobrego co robisz na tym forum jednak w końcu doprowadzisz do przekroczenia masy krytycznej i reakcji łańcuchowej. OK ?

_________________
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: 7 wrz 2012, o 09:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

te wcinki kolegi GwynBleidD to jest lekka masakra...już któryś post czytam i tam jego wcinki nic nie wnoszące do tematu, to jest niepotrzebne tzw łapanie za język.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 wrz 2012, o 09:39 
Offline
Moderator
Avatar użytkownika

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

tomwisnia napisał(a):
te wcinki kolegi GwynBleidD to jest lekka masakra...już któryś post czytam i tam jego wcinki nic nie wnoszące do tematu, to jest niepotrzebne tzw łapanie za język.


Dokładnie, to na forum ele... jak już moderator nie ma się do czego przyczepić w mojej wypowiedzi, to doczepi się np do tego że użyłem przymiotnika (mojego ulubionego) "koci", że piszę czasem że coś tam jest "kocie" ;) .... o matko! ;) toż nawet niektórzy raportują tam takie moje posty i nawet argumentują to tym, że ja szerzę nienawiść do zwierząt ;), a inni że nie wysławiam się technicznie.

Tymczasem w innych postach ten sam moderator przepuszcza takie słowa obcojęzyczne jak np "Hejtowanie" ..... to mnie dopiero drażni, ale ja nikomu nie zwracam uwagi. Co to w ogóle jest jakieś Hejto-coś-tam-wanie ? ;) .... (ok niby wiem) ... ale nie cierpię tego ;) ... a poza tym co to ma wspólnego np z wysławianiem się technicznym. Zresztą mógłbym takich przykładów mnożyć tam bez liku ....

Dlatego na tym forum - jeśli ktoś (nawet ja) popełni jakiś straszny błąd ortograficzny - to zrozumiem, że inna osoba zwróci delikatnie uwagę, może to zrobić nawet na PW (tak byłoby dużo bardziej kulturalnie) .... a nie tu będzie sobie urządzać wycieczki co do znajomości języka polskiego.

A takie uwagi to już rzeczywiście czepianie się słówek. Ale ok - mam nadzieję, że tym razem uda mi się przekonać kolegę Gwyn do zmiany zachowania na forum pod tym kątem oczywiście. Bo do niczego innego nie mam zastrzeżeń a wręcz przeciwnie, bo przecież i sporo pomaga, udziela się dosyć aktywnie .... i za to naturalnie dziękuję.

_________________
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: 7 wrz 2012, o 11:48 
Offline
Moderator
Avatar użytkownika

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

GwynBleidD napisał(a):
No przepraszam za wprowadzanie lekkiego zamieszania, ale po prostu czasem nie mogę się powstrzymać, a moje posty mają jedynie na celu lekkie rozluźnienie atmosfery :)

Co do tego postu w innym wątku, broń boże nie było to skarcenie, jedynie próba usprawiedliwienia Twojej postawy i lekkie zwrócenie na nią uwagi, bo widzę że troszkę czasem swojego tonu wypowiedzi nie zauważasz, a co złego to elektroda, więc na nią zwaliłem całą winę ;)


Może to trochę Oftopic się zrobi (ale chyba dobrze użyłem tego określenia) .... to przypomnę - już nie chodzi mi o uwagi do słówek ....

ale tak generalnie - napiszę to wyraźnie - co mnie nieraz ew lekko irytuje, gdy ktoś zadaje pytanie na forum. Po pierwsze fakt, że zamiast szukać błędu w tym co robi sam to doszukuje się błędów w kompilatorach, środowiskach, a nawet często w procesorach czy innych układach scalonych, nie zważając na to, że (jak sam zresztą się nieraz określa) jest początkujący a jednocześnie z wypowiedzi wynika nie pytanie a prawie stwierdzenie. Co więcej, taka osoba napisze zwykle tak mało informacji czasem troszkę chaotycznie (co też mogę zrozumieć bo jak człowiek siedzi 3 noce i walczy z czymś to może wyjść lekki chaos) .... ale jak do tego zaczyna twierdzić że np Eclipse coś ignoruje, że Eclipse nie działa bo ma pełno błędów, że chyba dlatego tak rzadko ludzie z niego korzystają bo jest tak kiepski, albo że chyba wina leży po stronie procesora, albo że właśnie ktoś odkrył że w procesorze zepsuł mu się Timer1 bo źle działa i pyta czy musi wymienić procesor na nowy bo słyszał że czasem się timery sprzętowe psują ....

.... a do tego wszystkiego trzeba taką osobą prosić prawie na siłę o uzupełnienie informacji i jeszcze potem się oburzy, za to że (nawet jeśli przypadkowo) ale oceniłem że coś tam mniej wie - to co? to nie można się poirytować ? Można - dlatego że ja mam taką naturę że jak mi coś nie działa - to ostatnią rzeczą jaka by mi przyszła do głowy jest wymyślanie że nie działa wszystko dookoła tylko nie to co ja robię - nawet gdy jestem najbardziej zrozpaczony. Trzeba było być ze mną gdy np walczyłem z napisaniem bibliotek do modułów HopeRF do książki.... Ale takie właśnie podejście pozwala się szybciej uczyć programowania, bo programowanie to nie tylko nauka rozkazów i algorytmów. To także albo nawet przede wszystkim nauka rozwiązywania problemów ... zresztą jak w życiu. I tego swoimi odpowiedziami staram się nauczyć, dać też dobitnie znać żeby pytający przestał odkrywać błędy producentów procesorów, twórców środowisk programistycznych czy kompilatorów! To jest WAŻNE i jak na razie mi się to udaje - sam zobacz że sporo osób szybko docenia takie podejście ... I jak już się dogadamy żeby nie zahaczać pytaniach o takie odkrycia ... to potem już dalej fajnie się rozmawia , wyjaśnia i mam mnóstwo cierpliwości. A jak mi się nie uda czegoś wytłumaczyć - to i tak nigdy nie stwierdzę że to wina słuchacza, że czegoś nie potrafi pojąć - to TYLKO i WYŁĄCZNIE moja wina - że nie potrafię wytłumaczyć. Nawet tu prezentuję takie samo podejście jak widzisz....

Więc jeszcze raz powiem - tu tylko piszemy to nie rozmowa - nie widać mimiki twarzy, gestów, tonu głosu czy uśmiechu - dlatego tylko niektóre wypowiedzi mogą być odbierane opatrznie albo jako złośliwe ? .... jakoś w kontaktach face to face nie mam nigdy kłopotów z dogadywaniem się z innymi w takich sytuacjach ...

reasumując - pewnie i tak będę musiał nie raz jeszcze niektórym przypominać o moich podstawowych założeniach, to normalne - trudno. Ale dlatego też mam prośbę aby krytyką mojego postępowania w tym zakresie się nie zajmować - ja mam wyraźną ideę i wizję jak to forum ma wyglądać. Okazuje się, że udaje się zbierać tu super fajnych ludzi z którymi udaje mi się nawiązać dobry a nawet bardzo dobry kontakt i którzy popierają takie podejście .... łącznie z tym, że czasem trzeba się nauczyć zadawać pytań żeby dostać prawidłowe odpowiedzi. Przy czym ja nie chcę tu broń boże pełnić roli nauczyciela postaw życiowych dla kogokolwiek - za to wymagam odrobiny zrozumienia gdy się pomylę w ocenie w podpowiedzi itd .... skoro pytanie było tak zadane że miałem prawo się pomylić .... Tyle że (kończę już) ... jak widać po tamtym temacie z kolegą Zhan - nie wpadłem, nie napyskowałem i nie napisałem tylko jakichś swoich subiektywnych opinii ale jednocześnie starałem się sukcesywnie tłumaczyć - i okazuje się że trafiłem - ale co z tego i tak dostałem ochrzan, że to ja robię z kogoś nieuka co jest kompletną mega bzdurą .... ale ok mam nadzieję że kolega się oswoi z takim podejściem i zobaczymy jak będzie dalej...

Bo sam wiesz, że było już na tym forum, kilka osób, które wpadły na chwilę - narobiły zamętu rodem z ele.... i już dawno nawet ślad po nich tu nie pozostał i bardzo dobrze.

_________________
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: 7 wrz 2012, o 22:11 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Na ICP występuje zbocze, na które ma zareagować timer1. Ok, zaczyna liczyć... Przy odebranym kolejnym zboczu znów liczy od zera?


A z jakiego powodu miałby wg ciebie liczyć od zera hmmm? przecież licznik cały czas tyka aż się przekręci, chyba że go sam wyzerujesz.

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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