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



Teraz jest 27 lis 2024, o 20:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 30 lip 2012, o 18:15 
Offline
Nowy

Dołączył(a): 30 lip 2012
Posty: 4
Pomógł: 0

Witam,

mam taki nietypowy problem, mianowicie generowanie kilku przebiegów prostokątnych z możliwością regulacji częstotliwości oraz długości stanu wysokiego. Stan wysoki muszę regulować w zakresie 20us-200us przy czym podczas regulacji częstotliwość ma zostać stała. Częstotliwość muszę regulować w zakresie od 20Hz do 1kHz. Do tej pory używałem sprzętowego timera ustawionego w tryb mode 15.
Obsługa była bardzo prosta do jednego rejestru wrzucałem czas trwania stanu wysokiego, a do drugiego stanu niskiego. Niestety ATmega8 jak i inne procesory atmela posiadają tylko jeden timer konfigurowalny w tym trybie, więc pozostało zrealizować to programowo. Oczywiście można użyć kilku procesorów ale to mija się z celem. Chciał bym generować dwa lub 4 takie niezależne przebiegi na różnych pinach. Mój problem polega na tym że nie wiem jak się za to za bardzo zabrać, myślę uruchomić jeden timer sprzętowy który będzie podstawą czasu dla małych timerów programowych które będą odpowiadały za dany kanał. Proszę o pomysły,sugestie.

Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2012, o 18:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Kolego, w pierwszej książce Mirka masz dokładnie pokazane, jak zrobić programowe kanały PWM wraz z pełnymi kodami. To nic trudnego. Robisz sobie przerwanie od timera i w nim sprawdzasz kilka zmiennych globalnych i zmieniasz stan wyjść portów jak przekroczy zadaną wartość. Po dokładniejsze kody sięgnij do książki lub do płyty dołączonej do książki.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2012, o 20:44 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 166
Pomógł: 0

Tylko zauważ prosze, że kol. d3211 prawdopodobnie nie bez powodu zamieścił swój post w dziale BASCOM.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2012, o 20:53 
Offline
Nowy

Dołączył(a): 30 lip 2012
Posty: 4
Pomógł: 0

Dokładnie, chodzi mi o przykłady w Bascomie- C jest dla mnie nie do ogarnięcia. Wracając do tematu to posiadam jakieś kody w C.. może okażą się być przydatne?

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2012, o 21:41 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 166
Pomógł: 0

...



Ostatnio edytowano 14 lis 2013, o 12:27 przez zenowi, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2012, o 22:53 
Offline
Moderator
Avatar użytkownika

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

A dlaczego pomijaną formę Arduino ? Przecież nikt nie tępi tu Arduino czy Bascoma - wręcz przeciwnie. Tyle że tak się składa, że większość użytkowników ćwiczy jednak C.

Ja sam swego czasu sporo w Bascomie pisałem nawet mam kupiony Bascom. Naturalnie pod Bascomem też da radę zrobić programowy PWM ale nie ma się co czarować - za dużych możliwości tu nie będzie jeśli chodzi o kilka kanałów i współgranie tego z programem głównym. Poważny problem jest w tym, że Bascom przeraźliwie dużo odkłada na stos po wejściu w przerwanie a przy wyjściu zdejmuje. To zabiera mnóstwo czasu. Czy nie da rady z tym coś zrobić? ależ da radę - wystarczy napisać wstawkę w asemblerze, czyli np całą procedurę obsługi tego przerwania w asm. Jak się potrafi asemblerem szprycować Bascoma to na prawdę dużo można z niego wycisnąć ;)

Ciężko mi tylko teraz to opisywać bo sam już dawno nie używałem Bascoma.

_________________
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: 31 lip 2012, o 08:07 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 166
Pomógł: 0

...



Ostatnio edytowano 14 lis 2013, o 12:27 przez zenowi, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 lip 2012, o 08:57 
Offline
Moderator
Avatar użytkownika

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

zenowi napisał(a):
Oj, Panie Mirku, Panie Mirku. Jak wam zawodowcom (i przyszłym zawodowcom) trudno zrozumieć, że są na świecie amatorzy nie do końca ogarnięci pasją programowania.


Oj tu bym protestował i to ostro przeciwko takim uogólnieniom i generalizowaniu. Ja wiem, że jeśli ja określę się sam jako osoba, która pomaga - stara się pomagać takim właśnie amatorom, to kolega mi nie uwierzy. No trudno ale to rozumiem nawet. Przykro mi nawet troszkę, że kolega tak mówi. Ale cóż zrobić - każdy może mieć własne zdanie i ja to szanuję. Pozwolę sobie jednak na wyrażenie, jeśli mogę swojego zdania w tym miejscu.

Ja bardzo dobrze rozumiem że nie wszyscy amatorzy są ogarnięci pasją programowania. Kurczę wszędzie nawet na elektrodzie w moich postach widać, że nigdy złego słowa nie powiedziałem na tych, którzy wolą jednak pozostać przy Bascomie. Nawet wyżej piszę że sam go zakupiłem i przecież nie po to żeby leżał i się kurzył. Bardzo dużo w nim zrobiłem. Ale czy to grzech że przeszedłem teraz na C ? że korzystałem z wstawek asemblerowych ?


zenowi napisał(a):
Zawsze będą szukać prostszych rozwiązań na miarę swoich możliwości. Wstawki asemblerowe do Bascoma? Och w życiu!


Tu kolega troszkę, wydaje mi się tak, przesadza. Ja znam wielu amatorów, którzy używają tylko Bascoma, więcej sporadycznie ale czasem gdy chcieliby zrobić coś co wymaga na prawdę krótkich czasów, skorzystają z jakichś tam super podstawowych wstawek asm. Bez przesady - ale to nie jest tak, że jak ktoś jest amator - to już niczego nie jest w stanie się nauczyć poza jednym narzędziem.

zenowi napisał(a):
Tyle asemblera co w C, to dla mnie i tak już jest trochę przydużo, a Pan takie rzeczy proponuje :) Na forum szukam raczej metod, opisów rozwiązania problemów oraz technikaliów. Przy okazji pragnę zwrócić uwagę, że tak ważne pojęcie jak "algorytm" zostało użyte na tym forum tylko 11 razy.


A w C ??? jaki asembler - praktycznie w ogóle go nie używam i pokazuję wręcz jak sobie radzić bez niego - przekształcając wiele projektów, które pokazuję w książkach z tych, które były napisane ze sporą dawką asm tylko na C.

Ja rozumiem, także świetnie że każdy ma swoje jakieś tam potrzeby i inną wizję niż język C .... ale sam jestem pasjonatem, tylko widzę, że to dla niektórych jak dla kolegi (hmmm pierwszy raz w życiu się z tym spotykam) jest wręcz wada, że próbuję zarazić pasją .... szkoda troszkę, ale postaram się to zapamiętać i może mniej żarliwie do tego przekonywać wszystkich dookoła. Może muszę lepiej się nauczyć odróżniać tych którzy chcą coś robić z pasją od tych którzy ..... ??? no właśnie którzy co ? nawet nie potrafię teraz tego zdefiniować

totalnie zaskoczony jestem tą wypowiedzią bo zabrzmiało to jakbym kurczę kogoś zjechał za to że używa innego języka niż C ...

Algorytmy .... hmmm 11 razy .... a nie wziął kolega pod uwagę że nie wszyscy amatorzy - może nie to że nie wiedzą co to jest, ale niewiele wiedzą często jak się tworzy algorytmy a tym bardziej jak się na ich bazie buduje programy. Oczywiście zaraz kolega pewnie powie, że właśnie dlatego powinno być dużo algorytmów na forum i że w ten sposób należy uczyć a nie tam przez jakiś trudny C.

Tyle że moim zdaniem czasem opowiadanie przez pryzmat samych algorytmów dla totalnie początkujących to jest jakiś koszmar. MEGA koszmar, i wcale nie mówię Panie szanowny kolego o "jakichś tam wydumanych amatorach" - sam nie cierpię, wręcz nie mogę nic zrozumieć jak ktoś mi tłumaczy coś algorytmami - no sorki ale ja nie jestem alfą i omegą.

I teraz uwaga - to co piszę w książkach to właśnie staram się opowiadać nie ALGORYTMAMI, chociaż bym mógł, ale żywymi przykładmi - czyli w taki sposób jak sam bym chciał kiedyś (choćby kilka lat temu) znaleźć książkę , która byłaby właśnie tak napisana. Strasznie się zdziwiłem - mówię szczerze i wciąż jestem zdziwiony, że ta książka jednak cieszy się hmm dość sporym zainteresowaniem, a najbardziej się, że ludzie mówią że mam jakiś tam talent do pisania. Ja wcale tak nie uważam .... Jednak widać, że jest trochę ludzi na tym świecie do których przemawia jakaś tam wiedza przekazywana w ten własnie sposób a nie za pomocą algorytmów.

Tylko bez w razie czego przesady - żeby zaraz kolega nie wysnuł wniosku, że ja uważam że algorytmy to coś złego i strasznego i że nie powinno ich być. Wręcz przeciwnie - są bardzo - hmmmm nawet bardziej niż bardzo - potrzebne ale umiejętne ich budowanie albo co więcej przekazanie wiedzy w ten sposób tak aby stała się zrozumiała dla każdego to już SZTUKA.

Reasumując może i są ZAWODOWCY o jakich kolega pisze, którzy to potrafią ale nie ja - sam poczekam na taką książkę czy jakiś artykuł. A prawda jest taka, że każdy z nas ma inny sposób percepcji nowych informacji i nie ważne z jakiej dziedziny. Trzeba tylko zrozumieć - że nie ma wyraźnego podziału na amatorów i zawodowców, na tych którzy są zarażeni pasją i na tych którzy nie - bo jest pomiędzy tymi pojęciami bardzo płynna granica.

Ja powiem, że mi bliżej do amatora niż zawodowca chociażby z tej racji że nadal jestem noga z analogowej elektroniki, której się pilnie uczę ale wciąż za słabo mi to idzie.

Na koniec - gdybym miał coś przeciwko Bascomowi w najprostszej postaci to czy zakładałbym tu specjalnie ten dział na forum??? Proszę jednak o chociaż odrobinę zrozumienia i dla mnie.

_________________
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: 31 lip 2012, o 11:24 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 166
Pomógł: 0

...



Ostatnio edytowano 14 lis 2013, o 12:28 przez zenowi, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 lip 2012, o 13:38 
Offline
Moderator
Avatar użytkownika

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

zenowi napisał(a):
.... i wracamy do sprawy generatora.


No może źle zrozumiałem dlatego tak posmutniałem :( ... ale ok ... cieszę się i wracamy do tematu. Może w takim razie pokażę na przykładzie jak nawet czytając to co w C przerobić sobie to na Bascoma ;)

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


tak wygląda obsługa programowego PWM wewnątrz obsługi przerwania Timera i tu jest cała idea zawarta, w Bascomie można to stosunkowo łatwo zaimplementować:

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


to znaczy może się gdzieś dziabnąłem w sytaxie ale tak mniej więcej to może wyglądać i wtedy za pomocą zmiennych globalnych pw1m, pwm2 i pwm3 mamy 3 programowe kanały soft PWM ;) No tylko teraz trzeba dobrać odpowiednie taktowanie, i częstotliwość timera i wiadomo poustawiać przerwania

_________________
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: 31 lip 2012, o 17:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

mirekk36 napisał(a):
Czy nie da rady z tym coś zrobić? ależ da radę - wystarczy napisać wstawkę w asemblerze, czyli np całą procedurę obsługi tego przerwania w asm. Jak się potrafi asemblerem szprycować Bascoma to na prawdę dużo można z niego wycisnąć

Połączenie Bascoma i asemblera? A widziałeś połączenie roweru i czołgu? Jak ktoś już ogarnie bascoma to C to kwestia czasu, a asembler to zupełnie inna filozofia programowania.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 lip 2012, o 18:28 
Offline
Moderator
Avatar użytkownika

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

Ledes napisał(a):
Połączenie Bascoma i asemblera? A widziałeś połączenie roweru i czołgu?


Nie nie nie ;) ... akurat Bascom ma niesamowicie ułatwione możliwości łączenia z asemblerem - podkreślam niesomowicie .


Ledes napisał(a):
Jak ktoś już ogarnie bascoma to C to kwestia czasu, a asembler to zupełnie inna filozofia programowania.


Asembler przydaje się także i w C i to bardzo czasem - ale generalnie można w 90% i bez niego przeżyć ;) ....

A co do tego że jak ktoś ogarnie Bascoma to owszem zgadzam się że opanowanie C to po prostu kolejny naturalny kroczek, i wielu ludzi już tak zrobiło pomimo że też się tego mocno obawiali - a dzisiaj śmigają w C aż miło ;) patrzeć

_________________
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: 12 ] 

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