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



Teraz jest 22 paź 2018, o 06:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 9 sie 2018, o 11:36 
Offline
Użytkownik

Dołączył(a): 31 maja 2018
Posty: 66
Ostrzeżenia: 1
Pomógł: 0

Witam !
Jak przerobić poniższy kod aby mrugał na przemian 2 diodami co 64 sekund.
Może być przedział od 60 sek do 70 sekund
Teraz mruga z częstotliwością 2 Hz.
Za pomoc z góry dziękuję.
Adela

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



Góra
 Zobacz profil  
 
PostNapisane: 9 sie 2018, o 12:33 
Offline
Użytkownik

Dołączył(a): 31 lip 2016
Posty: 85
Pomógł: 4

Timer0 w tym mikrokontrolerze może pracować tylko w trybie overflow (przepełnienia).
Nie ma trybu CTC.

Aby uzyskać miganie co 60 sekund należy użyć kwarc tzw. zegarkowy 32768Hz.
Wykorzystać Timer1 szesnasto bitowy.
Może też być rezonator kwarcowy 1MHz, prescaler 1024.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
 
PostNapisane: 9 sie 2018, o 15:44 
Offline
Użytkownik

Dołączył(a): 31 maja 2018
Posty: 66
Ostrzeżenia: 1
Pomógł: 0

Czy na wewnętrznym 1 MHz można osiągnąć 60 sekund?.
Jak wyglądał by taki kod?
Jakie uC nadawały by się najlepiej do ,sprzętowego migania 2 LED co 60 sekund?.
Czy Attiny 2313A była by lepsza ?



Góra
 Zobacz profil  
 
PostNapisane: 9 sie 2018, o 16:15 
Offline
Użytkownik

Dołączył(a): 31 lip 2016
Posty: 85
Pomógł: 4

Może być każdy uK który posiada timer może pracować w trybie CTC - Timer 16-to bitowy.
Może być wewnętrzny oscylator 1MHz.
W trybie CTC:1MHz/1024 -1024 to preskaler.
W rejetrze OCR1 wpisać wartość 58591.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
 
PostNapisane: 9 sie 2018, o 17:58 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 1576
Pomógł: 75

Wystarczy dołożyć licznik programowy :)



Góra
 Zobacz profil  
 
PostNapisane: 9 sie 2018, o 18:54 
Offline
Użytkownik

Dołączył(a): 31 maja 2018
Posty: 66
Ostrzeżenia: 1
Pomógł: 0

Ja chcę sprzętowo nie programowo,mrugać diodami ,co 60 sek lub 64 sekund.
Jeśli to możliwe prosiłabym o gotowy kod,sama napisać nie potrafię.



Góra
 Zobacz profil  
 
PostNapisane: 9 sie 2018, o 19:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 maja 2015
Posty: 42
Pomógł: 1

Witaj :D
Gotowce to raczej nie ten dział :lol: :lol: :lol:
Oglądnij sobie ten poradnik na pewno
się rozjaśni o co chodzi z timerami
#0461 AVR LED dynamiczne kierunkowskazy Audi - part 01 (wprawki LED dla początkujących)

https://www.youtube.com/watch?v=iPgtfK39OzY



Góra
 Zobacz profil  
 
PostNapisane: 9 sie 2018, o 21:43 
Offline
Użytkownik

Dołączył(a): 31 maja 2018
Posty: 66
Ostrzeżenia: 1
Pomógł: 0

Znalazłam gdzie są kody do poradników,kosztują 29 zł.



Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 06:33 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 86
Pomógł: 9

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


Autor postu otrzymał pochwałę

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Ostatnio edytowano 10 sie 2018, o 07:35 przez JarekB, łącznie edytowano 2 razy

Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 06:56 
Offline
Użytkownik

Dołączył(a): 31 maja 2018
Posty: 66
Ostrzeżenia: 1
Pomógł: 0

Dałam do kompilacji kod Jarka B , AVR Studio 5.1, na Atmega 8A,nie skompilował się.
Wywaliło Error w 46 linii ,1 kolumnie ,pt. "Error1 expected declaration or statement at end of input 46 1".
Kod się skompilował ,wgrałam do Atmega 8A,nie ma 60 sekund dury cycle 50%,jest ,jest duty 50 % 1.872 Hz



Ostatnio edytowano 10 sie 2018, o 07:45 przez Ada57, łącznie edytowano 1 raz

Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 07:36 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 86
Pomógł: 9

Wkleiłem kod jeszcze raz, może coś namieszałem wcześniej.
Pytaj jak coś będziesz chciała się więcej dowiedzieć.
Zaznaczam że też się uczę i mogę popełniać błędy.


Autor postu otrzymał pochwałę

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 07:46 
Offline
Użytkownik

Dołączył(a): 31 maja 2018
Posty: 66
Ostrzeżenia: 1
Pomógł: 0

Kod się skompilował ,wgrałam do Atmega 8A,nie ma 60 sekund dury cycle 50%, ,jest duty 50 % 1.872 Hz



Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 08:08 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 86
Pomógł: 9

OK
Masz zmienną tykadelko w 11 linii w tej chwili ma wartość 1
Możesz zmieniać ją w zakresie od 1 do 254 i tym regulować długość impulsu
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Sprawdź


Autor postu otrzymał pochwałę

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 08:36 
Offline
Nowy

Dołączył(a): 26 mar 2018
Posty: 14
Pomógł: 2

Ada57 napisał(a):
Ja chcę sprzętowo nie programowo,mrugać diodami ,co 60 sek lub 64 sekund.

Ada57 napisał(a):
Jak przerobić poniższy kod aby mrugał na przemian 2 diodami co 64 sekund.

Wszystkie przedstawione tutaj kody to miganie jak najbardziej programowe. Sprzętowo by było gdyby na wyjście OC timera wyprowadzić sygnał PWM albo Compare Match.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 08:47 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 86
Pomógł: 9

No tak masz racje.
Można przyjąć że te sposoby są quasi sprzętowe
Są o jeden krok przed całkowitym sprzętowym rozwiązaniem.
Natomiast mają jedną zaletę w porównaniu do zastosowania np
_delay_ms (1000);
Są nie blokujące.
Na początek powinno wystarczyć, żeby zrozumieć podstawy.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 09:24 
Offline
Użytkownik

Dołączył(a): 31 maja 2018
Posty: 66
Ostrzeżenia: 1
Pomógł: 0

Czy znajdzie się osoba która poda kod na 60/60 lub 64/64 sprzętowy ,nie programowy.
Może być przedział od 60 do 70.
Tutaj kod z delay.

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



Góra
 Zobacz profil  
 
PostNapisane: 10 sie 2018, o 09:39 
Offline
Moderator
Avatar użytkownika

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

To nie jest forum do odrabiania za kogoś lekcji, trzeba chociaż troszkę własnej pracy wnosić. Wątek zamykam. Leci WARN bo to już nie pierwszy taki wątek szanownej koleżanki.

_________________
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  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 17 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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