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



Teraz jest 28 mar 2024, o 17:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 28 cze 2017, o 12:15 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

Witam , juz drugi dzień sie męcze z tym problemem i nadal nie wiem co jest źle , więc tak

jako początkujacy elektronik, postanowiłem zrobic sobie zegarek elektroniczy , napisałem kod , złożyłem układ na płytce stykowej .
Kwarc(zegarkowy) podłaczyłem do tosc1 i tosc2 , wyswietlacz led do portów D i zasilanie wyswietlacza do portów C a do portów B przyciski .
wyświetlacz jest dobrze podłaczony , przyciski też jak i kwarc , ewidentnie problem tkwi w przerwaniu
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


na początku program do chodzi do tej linijki i tam sie zatrzymuje
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


jak usunę tą linijkę to program dochodzi do pętli głownej i tyle ;/

co do kodu w przerwaniu , to jak wrzucałem go do pętli głównej to eleganko śmiga :)

wychodzi na to ,że program nie chce wykonać przerwania z jakiegoś powodu

i teraz pytanie z jakiego ? gdzie popełniłem bląd ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 12:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Dobrze widzę że w przerwaniu próbujesz wywoływać funkcje???



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 12:46 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

nie ma w tym programie funkcji , jeśli chodzi ci o ten fragment to odnoszę sie do zmiennych .
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 12:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

PiterCziter napisał(a):
if(bit_is_clear(PINB , 0)) godzina[2]++ ;
if(bit_is_clear(PINB , 1)) godzina[0]++ ;
To są funkcje czy jakieś makro? (chodzi mi o warunek dla ifów)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:03 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

bit_is_clear(P, b); — makrodefinicja, która zwraca wartość jeden, jeśli bit o numerze b w rejestrze
funkcyjnym P jest wyzerowany



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Ok. Pytanie czy licznik wogule pracuje na tym kwarcu, bo przerwanie jest od przepełnienia, a jeśli licznik nie tyka to takowe nie nastąpi...
Kondensatory przy kwarcu masz dodane?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:25 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

mam , monolityczne 10nF ,bez kondesatorów też testowałem i nic



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

dobra a na potrzeby testu włącz taktowanie timera z systemowego zegara - będziesz wiedział czy reszta kodu jest ok.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:36 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

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

i śmiga :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Masz możliwość podmiany kwarca na inny egzemplarz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:43 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

jedynie 12MHz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

możesz spróbować ale wejście TOSC1 jest dedykowane dla kwarców niskiej częstotliwości więc może nie zadziałać...
Według noty możesz nie podłączać kondensatorów przy kwarcu, a zamiast tego włączyć wewnętrzne kondensatory opcją CKOPT w fusach procka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 13:49 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

tak jak powiedziałes ,nic z tego nie wyszło

------------------------ [ Dodano po: 6 minutach ]

nie możliwe zeby przez te kondesatorki nie chodził cały licznik ,problem tkwi gdzieś indziej



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 14:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

No tylko że sam licznik chodzi a problem jest ze wzbudzeniem kwarca do generowania częstotliwości...
Chyba że problem leży w układzie przełączającym źródło taktowania...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 15:58 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

na dziś sobie odpuszczam , jak ktoś ma jakieś pomysły jak można ten problem rozwiązać niech pisze



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 cze 2017, o 18:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Przeprowadziłem własne testy w konfiguracji: atmega8 na stykówce + kwarc wylutowany z zegarka (wyszperałem z szuflad stary zekarek kwarcowy i z niego wylutowałem) podłączony bez kondków i włączona opcja w fusach CKOPT + jedna dioda świecąca + Twoja część kodu odpowiedzialna za konfigurację timera, w przerwaniu linijka kodu odpowiedzialna za toglowanie diody.
Timer działa a dioda co sekundę zapala się i gaśnie; jest to zasługa na 100% kwarca zegarkowego bo jego wyjęcie powoduje że dioda pozostaje w stanie jak w momencie wyjęcia.
Tak więc problemu musisz szukać w połączeniach swojego układu (no chyba że uszkodzony kwarc bądź atmega)
Swoją drogą jak podłączyłeś ten malutki kwarc na płytce stykowej?


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2017, o 07:50 
Offline
Nowy

Dołączył(a): 23 cze 2017
Posty: 9
Pomógł: 0

Faktycznie , kwarc jest źle podłaczony ,teraz dopracować kod i zegarek bedzie dokończony .
dzieki za poświęcony czas , dzieki tobie zauważyłem ze wystarczy zadawać odpowiednie pytania i pisanie na forum z problemem nie bedzie potrzebne :P



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: 17 ] 

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