Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięAttiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Moderatorzy:Jacek Bogusz, procesorowiec, r-mik, Moderatorzy
Ja bym tak bardzo krytykowal r-mik Dlaczego Bo watek wyszedl dobry i zly policjant czego efektem jest to ze dalas rade zrobic to co chcialas
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
ACek mi pomógł ,a r-mik gdyby chciał mi pomóc, zamieściłby w języku C, kod który daje najbardziej zbliżone do idealnego 50 %.
Nie napisał też jaka pętla jest lepsza while czy for.
Kod który wysłałam sama nie napisałam,bo nie potrafię,pobrałam go z zagranicznej strony internetu.
Na zagranicznych forach dają na zamówienie gotowce, i nie męczą ludzi tak jak r-mik.
Nie napisał też jaka pętla jest lepsza while czy for.
Kod który wysłałam sama nie napisałam,bo nie potrafię,pobrałam go z zagranicznej strony internetu.
Na zagranicznych forach dają na zamówienie gotowce, i nie męczą ludzi tak jak r-mik.
Ostatnio zmieniony 3 sie 2018, o 10:10 przez Ania30, łącznie zmieniany 1 raz.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Zmierz (ale nie masz czym) jak jest faktyczna częstotliwość generowanego sygnału gdy chcesz uzyskać częstotliwości rzędu kilkudziesięciu kHz zwłaszcza przy taktowaniu 1MHz.Napisałeś ,że poprzez delay nie da się osiągnąć rozpiętości kHz do 12 godzin,u mnie taka rozpiętość została osiągnięta.
- Delay 10uS nie da 10us, to pierwsze.
- Czas wykonania operacji ustawiającej port (co najmniej 1us) ma w takim przypadku znaczenie. Jeden rozkaz zmieni częstotliwość o 10%!
Cały czas mowa o precyzyjnych częstotliwościach, współczynniku wypełnienia a uczepiłaś się najgorszego z możliwych rozwiązań mając sprzętowe sterowanie GPIO, gdzie trzeba liczyć każdy cykl maszynowy jak w latach 80.
W Generatorze DDS z EP 6/2018 jest sprzętowe sterowanie wyjściem:
void Timer1_Start(uint8_t dzielnik)
{
// OCR1B=dzielnik;
OCR1B=dzielnik;
//Output compare toggles OC1A pin
// TCCR1A |= 0x40; // COM1A = 1
TCCR1A |= 0x10; // COM1B = 1
//start timer without prescaler
TCCR1B = 0b00001001; // WGM 12=1, CS=1
DDRD |= _BV(PD4);
}
Uzyskasz DOKŁADNIE 50% bez liczenia cykli. Nie muszą być włączone przerwania ale mogą. Program główny może robić co chce a nie wpłynie to na generowany przebieg bez względu na to, czy przerwania będą włączone czy nie. Max częstotliwość to Fclk/2, uzyskaj taką przez delay. Taki program jest krótszy niż z delay. Jeśli częstotliwość jest zbyt duża należy timery połączyć w kaskadę.
Można także użyć timera w trybie PWM. Używając OCRxA można ustawić próg zliczania a co za tym idzie, precyzyjnie regulować częstotliwość.
Głupotą jest, mając możliwości sprzętowe, rozwiązywać problem w sposób programowy.
Uważasz, że nie mam racji? Napisz na innych forach i zweryfikuj moją wiedzę.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Też uważam ,ze sprzętowe rozwiązanie jest lepsze jak programowe,to Ty wysnułeś taki wniosek ,że ja chcę programowe,jak chce najlepsze.
Jeśli chcesz pomóc to daj gotowca,tak jak ACeK ,i ja,bo ja sama według wskazówek Twoich czy innych nie potrafię.
Myślę,ze jest inny sposób ,jak miernik,w miarę tani, aby sprawdzić dokładność Duty 50 %,np.napisać program który to sprawdzi lub coś innego ,trzeba pomyśleć.
Jeśli chcesz pomóc to daj gotowca,tak jak ACeK ,i ja,bo ja sama według wskazówek Twoich czy innych nie potrafię.
Myślę,ze jest inny sposób ,jak miernik,w miarę tani, aby sprawdzić dokładność Duty 50 %,np.napisać program który to sprawdzi lub coś innego ,trzeba pomyśleć.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Nawet nie wiesz ACeK jak bardzo powtórka z rozrywki...Powtorka z rozrywki Program do ATMEGA8A-16PU DIP28 zmiana biegunów zasilania
Btw. Apropo code, nawet sam chciałem poprawiać pierwsze posty w temacie dodając znacznik... jakże się zdziwiłem że szwankuje Niestety nie jestem władny by móc choćby spróbować coś z tym zrobić.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Dałem już dwa, z leday i sprzętowe.Jeśli chcesz pomóc to daj gotowca,tak jak ACeK
Jest jakiś inny sposób na sprawdzenie suwmiarki tanim narzędziem, które nie jest centymetrem? Jest, taśma miernicza, linijka. Efekt: żaden. Lepszy niż centymetrem ale nadal to zbyt słabe narzędzia. W przypadku wypełnienia 50% wystarczy matematyka. Jeśli timer pracuje w trybie "Output compare toggles pin", to MUSI dać na wyjściu 50% tak samo jak przerzutnik T https://pl.wikipedia.org/wiki/Przerzutnik_typu_T.Myślę,ze jest inny sposób ,jak miernik,w miarę tani, aby sprawdzić dokładność Duty 50 %,np.napisać program który to sprawdzi lub coś innego ,trzeba pomyśleć.
Gdy timer pracuje w trybie PWM i ustawi się wypełnienie 50% to takie będzie.
Jeśli jednak zaczynamy liczyć super dokładnie, co jak już wielokrotnie pisałem w tym zastosowaniu nie ma znaczenia) to np czas narastania sygnału nabiera znaczenia. Czas zmiany sygnału z L na H (narastania) jest z reguły inny niż opadania (H na L) i już nie ma 50%. Mowa tu o czasach rzędu ns czy ps. Policz sobie jaką drogę przebywa światło w ns aby mieć wyobrażenie o jakich czasach rozmawiamy.
64 sekundy to 64'000'000'000ns! Mówimy o pomiarach dokładności 1,5625E-9% (0,0000000015625%). Jak chcesz to zmierzyć? Jaką "inną" metodę widzisz?
GPS oferuje odchyłkę kilkunastu ns w ciągu sekundy. Przyjmując 10, będzie to 640ns w ciągu 64 sekund. Masz więc wzorzec oferujący odchyłkę 640ns/64sek a chcesz mierzyć sygnał o dokładności 1ns/64sek, czyli 640razy dokładniejszy. Jak wiadomo, aby pomiar był miarodajny, urządzenie pomiarowe powinno oferować dokładność o rząd większą więc 0,1ns/64sek. Potrzebujesz więc sprzętu blisko 6500 razy dokładniejszego niż GPS!
Te dywagacja na temat dokładnie 50% sś dobre jako teoretyczne zadanie na uczelni ale nie do praktycznego użytku, tym bardziej, że nie ma jak tego zmierzyć.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Zapraszamy do trojki Nie slucham teraz radia to nie wiem czy jeszcze jest ten program Dawno Cie tu nie bylo... Nawet nie wiesz ACeK jak bardzo powtórka z rozrywki...
Sprawdzilem jak dziala program na tiny2313a Nie da sie ustawic 1MHz to dalem 8Mhz (kwarc) oraz zmienilem portb na portd zeby nie bylo problemu z przelaczaniem kabli od programatora Cos nie tak jest z procedura opozniajaca z tym ze symetria w dzialaniu progrmu jest zachowana Oto kilka zjdiec
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Nie trzeba mierzyć wystarczy to zrobić,tak jak np.jeśli w trójkącie masz wymiary dwóch boków ,to nie musisz mierzyć ile ten bok ma wyliczasz to matematycznie ,i masz pewność,że to ma bez mierzenia,tak jak pisałeś zrobić to matematycznie.
Ten kody które podałeś są niepełne nie umię tak zrobić aby zadziałały na uC.
Pajączek coś tu wspomniał o powtórce z rozrywki,z tej strony z 2013.r., pobrałam program,ACeK,i dałam go tutaj w pierwszym poście,ale on nie działa tak jak ja chce, i Anek40,podaje link do powtórki z rozrywki.
viewtopic.php?f=38&t=22876
Ten kody które podałeś są niepełne nie umię tak zrobić aby zadziałały na uC.
Pajączek coś tu wspomniał o powtórce z rozrywki,z tej strony z 2013.r., pobrałam program,ACeK,i dałam go tutaj w pierwszym poście,ale on nie działa tak jak ja chce, i Anek40,podaje link do powtórki z rozrywki.
viewtopic.php?f=38&t=22876
Ostatnio zmieniony 3 sie 2018, o 17:19 przez Ania30, łącznie zmieniany 1 raz.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Forum ma pomagać, uczyć a nie odwalać "czarna robotę". Można odwołać się do Biblii, "Dasz rybę (...), dasz wędkę (...)".Ten kody które podałeś są niepełne nie umię tak zrobić aby zadziałały na uC.
Forum nie jest po to aby dawać gotowe rozwiązania. Gotowce są w sklepie, można dać ogłoszenie, zlecić wykonanie urządzenia. Napisz co w kodach, które dałem jest niejasne a odpowiem na pytania. Aby to jednak nie było "nic nie rozumie" bo wtedy odeślę do kursu w EdW.
Programowania, znajomości architektury uC, znajomości elektroniki, nie da się nauczyć w dzień czy miesiąc, trzeba mieć tego świadomość. Projekt jest banalnie prosty, tylko niepotrzebnie został skomplikowany przez dywagacje na temat dokładności, który praktycznie nie ma znaczenie a co ważniejsze, nie masz jak tego sprawdzić. Ponadto co sprawdzać, jak taktujesz uC wewnętrznym generatorem RC. Dokładny miernik pokaże jitter i "pływanie" generatora, kiepski pokazał co pokazał.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Zamieściłem dwa.gdyby chciał mi pomóc, zamieściłby w języku C, kod który daje najbardziej zbliżone do idealnego 50 %.
To, że one nie zadziałają tak jak chcesz to "oczywista oczywistość".
- trzeba je dostosować do własnych wymagań
- sam kod to nie wszystko, trzeba zrobić projekt, ustawić bity konfiguracyjne itp.
Z punktu widzenia szybkości wykonywania, aktualnie nie ma to znaczenia (w starych kompilatorach miało).Nie napisał też jaka pętla jest lepsza while czy for.
To dlaczego nie korzystasz z zagranicznego forum i męczysz się tu?Na zagranicznych forach dają na zamówienie gotowce
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Anka za bardzo powaznie podchodzisz do tematu nie potrzebnie dajesz sie prowokowac Masz problem to piszesz na forum pytanie jak ciagle cos nie jest jasne zadajesz nastepne az wszystko stanie sie jasne Zapisz sie do AKTYW FORUM zbieraj punkty Usmiechnij sie... Pajączek coś tu wspomniał o powtórce z rozrywki,z tej strony z 2013.r., pobrałam program,ACeK,i dałam go tutaj w pierwszym poście,ale on nie działa tak jak ja chce, i Anek40,podaje link do powtórki z rozrywki...
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Takie rady jak r-mik to ja tez potrafię dawać,sam nie umie napisać pełnego kodu.
Z zagranicznych forum skorzystałam o wiele więcej ja w polskich .
Mam kilka kodów sprzętowych z zagranicznych stron.
Chciałam zobaczyć na co można liczyć tutaj,no i widać słychać i czuć,nie odnosi się to do ACeK.
W przystawce do programatora jest gniazdo na kwarc ,po co ono tam jest i co można z tym kwarcem zrobić.
Z zagranicznych forum skorzystałam o wiele więcej ja w polskich .
Mam kilka kodów sprzętowych z zagranicznych stron.
Chciałam zobaczyć na co można liczyć tutaj,no i widać słychać i czuć,nie odnosi się to do ACeK.
W przystawce do programatora jest gniazdo na kwarc ,po co ono tam jest i co można z tym kwarcem zrobić.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Przykład generatora DDS na AVR to za mało?Takie rady jak r-mik to ja tez potrafię dawać,sam nie umie napisać pełnego kodu.
Więc proszę tam szukać pomocy, skoro tu sami nieudacznicy, idt, itp.Z zagranicznych forum skorzystałam o wiele więcej ja w polskich .
Skoro tam dają super kody na zamówienie, za darmo, co czemu z nich nie korzytsać?Mam kilka kodów sprzętowych z zagranicznych stron.
To już czytałem, proszę o linki do tych zagranicznych for, gdzie piszą jak osiągnąć precyzję 0,0000(...)15%. Jestem bardzo ciekaw, czy za granica sa inne prawa fizyki.Chciałam zobaczyć na co można liczyć tutaj,no i widać słychać i czuć
Zostawiam bez komentarza, bo mowa o tym już była i to kilka razy.W przystawce do programatora jest gniazdo na kwarc ,po co ono tam jest i co można z tym kwarcem zrobić.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Twoje pytanie jest bardzo precyzyjne To jak ja bym sie spytal w mojej kuchni jest kolo lodowki garczek co moge z nim zrobic Dlatego podaj typ lub zamiesc zdjecie Wtedy kiedy wiadomo co to jest dostaniesz odpowiedz
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Nie no... czasami zaglądam, aczkolwiek trochę się u mnie pozmieniało i nie mam tyle czasu co kiedyś.Zapraszamy do trojki Nie slucham teraz radia to nie wiem czy jeszcze jest ten program Dawno Cie tu nie bylo
Co za bzdura... żeby się już do wszystkiego nie czepiać, to zakładam że chciałaś napisać: "ile ten trzeci bok ma". Ale i wówczas możesz jedynie mieć pewność że trzeci bok jest większy od zera, a mniejszy od sumy dwóch pozostałych... tylko tyle Ci to mówi....tak jak np.jeśli w trójkącie masz wymiary dwóch boków ,to nie musisz mierzyć ile ten bok ma wyliczasz to matematycznie ,i masz pewność,że to ma bez mierzenia,tak jak pisałeś zrobić to matematycznie...
I nie zadziała tak jak chcesz... żaden program nie zadziała, na żadnym istniejącym (nie teoretycznym) procesorze.Pajączek coś tu wspomniał o powtórce z rozrywki,z tej strony z 2013.r., pobrałam program,ACeK,i dałam go tutaj w pierwszym poście,ale on nie działa tak jak ja chce, i Anek40,
Niestety ale spierasz się o rzeczy albo o których nie bardzo masz pojęcie, albo o takie o których dość dobrze wiesz, ale próbujesz tutaj użytkowników strolować. Jeżeli to pierwsze, to niestety zgadzam się z r-mik że nie tędy droga i pretensje do forum są niewłaściwe bo oczekujesz za wiele za mało dając od siebie, tu raczej dostaniesz wędkę nie rybę.
Tak poza konkursem: Odpowiedz mi proszę na pytanie: co masz wspólnego z anek40 poza zainteresowaniem podobną tematyką i imionami na tą samą literę.
No nie do końca się tutaj zgodzę, tak samo jak nie do końca się zgodzę z Twoim wcześniejszym stwierdzeniem że nie ma żadnego znaczenia czy coś jest napisane w C/C++ czy ASM. Ale nie odczytuj tego niewłaściwie... na pewno na potrzeby powyższego problemu, a już na pewno na poziomie tych problemów, nie zawracał bym sobie tym głowy. To raczej dywagacje na zupełnie inną okazję.Z punktu widzenia szybkości wykonywania, aktualnie nie ma to znaczenia (w starych kompilatorach miało).Nie napisał też jaka pętla jest lepsza while czy for.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
pajączek i r-mik, niech do mnie nie piszą ,będą nieczytani,i nie otrzymają odpowiedzi.
Jak zamieścić tutaj foto przystawki ?
Jak zamieścić tutaj foto przystawki ?
Ostatnio zmieniony 3 sie 2018, o 22:57 przez Ania30, łącznie zmieniany 2 razy.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Na dole masz pomaranczowy prostokad z napisem zalaczniki Kliknij tam to pod nim pojawi sie dodaj pliki
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
To jest forum, ma regulamin. Dopóki nie jest łamany , każdy może pisać, tym bardziej jak pisze na temat.pajączek i r-mik niech do mnie nie piszą
Jeśli regulamin jest łamany, proszę zgłaszać do moderatora lub administratora jeśli moderator jest stronniczy.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Tu się zgodzę. Przeważnie, z silnym naciskiem na przeważnie, pętla fot, while, (until) są kompilowane do tej samej postaci w ASM. Różnice są (myślę o ASM) ale naprawdę nie duże, ale czasem istotne.No nie do końca się tutaj zgodzę, tak samo jak nie do końca się zgodzę z Twoim wcześniejszym stwierdzeniem że nie ma żadnego znaczenia czy coś jest napisane w C/C++ czy ASM. Ale nie odczytuj tego niewłaściwie... na pewno na potrzeby powyższego problemu, a już na pewno na poziomie tych problemów, nie zawracał bym sobie tym głowy. To raczej dywagacje na zupełnie inną okazję.
Z punktu widzenia programisty C, Basic to raczej kwestia wygody.
Faktycznie "dywagacje na zupełnie inną okazję" bo tu mamy dywagacje na temat 2us na 64sekundy!
PS
Polityki nie tykaj, więc nie mam możliwości dać porównań, choć już dałem, według mnie obrazowe, centymetr i suwmiarka.
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%
Patrze i niema jak wysłać załącznika,klikam na pełny edytor i jest.
Koło kondensatora jest gniazdo na kwarc,po lewej odpadło muszę przylutować.
Czy jak się da tam kwarc to tak samo jakby go przylutować do Atmega 8A,po co tam jest to gniazdo i co można z tym robić.
Gdzie można kupić taką przystawkę,kupiłam ją na Allegro,teraz jej tam niema.
Koło kondensatora jest gniazdo na kwarc,po lewej odpadło muszę przylutować.
Czy jak się da tam kwarc to tak samo jakby go przylutować do Atmega 8A,po co tam jest to gniazdo i co można z tym robić.
Gdzie można kupić taką przystawkę,kupiłam ją na Allegro,teraz jej tam niema.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 13 gości