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



Teraz jest 26 sty 2025, o 23:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 41 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 11 cze 2014, o 15:17 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 52
Pomógł: 0

mirekk36 napisał(a):
Matko jedyna Panie mateusz - weź się pan w garść ...

a co nie możesz wykorzystać INT1 ???? toż wszystko sprowadzi się do zamiany ISR( INT0_vect ) na ISR( INT1_vect ) no i oczywiście zmiany nazw bitów konfigurujących to przerwanie


Też na to wpadłem, żeby wykorzystać INT1 ale pod INT1 jest podpięte E wyświetlacza LCD :/

_________________
www.electrobot.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 15:20 
Offline
Moderator
Avatar użytkownika

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

no to poczytaj inne pomysły które ci podrzuciłem

i może weź ty sobie sam zrób płytkę taką gdzie będziesz mógł podłączać jak chcesz niektóre peryferia a nie że masz je na stałe zespawane. Na takim przykładzie może zrozumiesz teraz czym różni się dobrze przemyślany zestaw (bo wtedy jest na prawdę użyteczny w każdej sytuacji) od zestawu "modnego" czyli byle był, byle się sprzedał

_________________
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: 11 cze 2014, o 17:32 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Do tak prostego ukałdu to aż prosi sie o próbę na płytce stykowej. No chyab ze procesor wyświetlacz też jest przylutowany do płytki?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 17:37 
Offline
Moderator
Avatar użytkownika

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

Wilu88 napisał(a):
No chyab ze procesor wyświetlacz też jest przylutowany do płytki?


Na to wygląda :( .... pewnie wszystko tam przyspawali co się da

_________________
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: 12 cze 2014, o 13:00 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 52
Pomógł: 0

mirekk36 napisał(a):
Poza tym co za problem w ogóle WYWALIĆ obsługę INT i podłączyć WYJŚCIE INT układu PCF do BYLE WOLNEGO pinu procka i w pętli głównej sprawdzać stan jego zmiany

Tego sposobu chyba nie rozumiem za bardzo... Lub też nie wiem jak na razie jak to zrealizować... Wyjście INT układu PCF podłącze pod dowolny pin procka. Wyjście INT układu PCF co sekundę wystawia "1" lub "0" na wyjściu? Sprawdziłem diodą jak radził Wilu88 i miga. W pętli głównej za pomocą if mam sprawdzić stan jego zmiany? Muszę się nad tym zastanowić bo jak na razie to nie wiem jak to zrobić... Musze zdefiniować port procka do którego chce podpiąć INT jako wejściowy? Nie wiem jak skonstruować tego if'a...

mirekk36 napisał(a):
albo w ogóle wywalić z kodu kurza melodia obsługę INT i po prostu z dziwnym _delay_ms(1000) jak nie masz innego pomysłu odczytywać układ co sekundę ...

Ten sposób działa. Wrzuciłem _delay_ms i liczy. Tylko ja dałem _delay_ms(100)? Dla _delay_ms(1000) nie dział płynnie... Jaki powinien dobrać delay? Tylko metoda z delay nie jest zbyt dobra? Zawsze powtarzał Pan, że delay nie jest dobrym rozwiązaniem i, żeby się go wystrzegać. Lepiej zrobić to na timerze? Bo jeśli chciałbym zrobić jakiś projekt powiedzmy wielozadaniowy zegarek + odczyt temperatury to delay nie jest wskazany...?
Dla mnie to wszystko nowość, więc staram się wymyślać jakieś rozwiązania. Jak coś wychodzi to spoko, jeśli nie to pisze o tym na forum... Czasem od pomysłu do realizacji tego w kodzie jest daleka droga :D , czasem wystarczy mała wskazówka na którą samemu ciężko wpaść...

Mam własnie taki plan, żeby zrobić swoją płytkę, lub kupić zestaw z Atnela. Tą płytkę którą posiadam kupiłem już kiedyś tam tak na próbę by zobaczyć jak to działa, ale szczerze nie polecam płytki testowej firmy Nestor. Rozwiązania są słabe, wykonanie też pozostawia wiele do życzenia.

mirekk36 napisał(a):
Na to wygląda .... pewnie wszystko tam przyspawali co się da

Dokładnie, wszystko jest wlutowane. Parę wyprowadzeń na 1wire, ADC, i2c... Cięzko to nawet nazwać zestawem uruchomieniowy...

_________________
www.electrobot.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2014, o 13:07 
Offline
Moderator
Avatar użytkownika

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

mateusz_dan napisał(a):
Nie wiem jak skonstruować tego if'a...


A poradników z mojego bloga nie możesz pooglądać ? ;)

http://mirekk36.blogspot.com/2014/05/if ... -o-co.html

przecież w uproszczeniu to prawie jak obsługa klawisza

_________________
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: 12 cze 2014, o 14:09 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

mateusz_dan napisał(a):
Dokładnie, wszystko jest wlutowane. Parę wyprowadzeń na 1wire, ADC, i2c... Cięzko to nawet nazwać zestawem uruchomieniowy...


Bo to jest zestaw "utrapieniowy" :P

A tak na poważnie to wartość delay_ms będzie decydować o tym jak często będzie pobierana godzina z PCF. Jeśli ustawisz na 1000 to nie kiedy zdarzy się ze układ nie wstrzeli się dokładnie co sekundę i będzie pobierał np co 2 sek.
Zastosowanie przerwania jednak jest tutaj najlepszym pomysłem gdyż w tym momencie reszta programu jest przerywana aby wyłapać właśnie to tyknięcie z PCF w każdym innym przypadku może się zdarzyć ż to "tykniecie" nie zostanie zarejestrowane bo np. będzie realizowana jakaś funkcja wyświetlania na LCD, albo użyjesz w programie jakiegoś innego delaya który wstrzyma program.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2014, o 21:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Ja bym dodał
przerwania z Timer-em programowym
tu masz przykład opóźnień czasowych na takich timerach
(w przykładzie Timer2) jak by trochę przerobić możesz wykorzystać do
monitorowania pinu do którego podłączasz INT z PCF-a

http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-zwoka-czasowa-cd3.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 cze 2014, o 17:02 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 52
Pomógł: 0

Przetestowałem różne rozwiązania i zostałem przy podłączeniu wyjścia INT układu PCF do pinu ATmegi i w pętli głównej sprawdzam stan jego zmiany. Zegarek działa :D Teraz próbuje się uporać z kalendarzem. Przeglądałem różne tematy na forum, dużo jest propozycji i rozwiązań ale nie mogę zrozumieć jednego. Jak ustawić rok? Jak zdefiniować rok przestępny? Wzorując się na różnych kodach na forum znalazłem coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


Przy takich ustawieniach zegarek działa spoko. Dnia 29.02.2012 zmienia datę na 01.03.2012 czyli tak jak powinno być, ale dziś mamy 2014 rok i luty miał 28 dni. Jak to napisać, żeby lata były dobrze ustawione i żebym mógł zmieniając datę sprawdzić poprawność działania?

_________________
www.electrobot.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 cze 2014, o 13:18 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 52
Pomógł: 0

Wszystko rozumiem tylko gdzie mam ustawiać te bity? Z tego co wyczytałem rok przestępny to 00. Co ustawiamy za pomocą 0xC0? Po co to przesunięcie bitowe o 6?

_________________
www.electrobot.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 cze 2014, o 14:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Maską 0x0C maskujesz te bity
(wybierasz z zmiennej ośmio-bitowej tylko dwa najstarsze bity)

a przesuwasz o sześć pozycji w lewo
żeby do zmiennej rok wpisać tylko najstarsze dwa bity
które po tej operacji będą na pozycji najmniej znaczącej
w ośmiobitowej liczbie

------------------------ [ Dodano po: 25 minutach ]

Żeby zapisać do PCF operację
musisz odwrócić
do zmiennej rok wpisujesz wartość od 0 do 3
przesuwasz o sześć w prawo
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i zapis do PCF-a

nie sprawdzałem tego ale na papierze
wychodzi :)



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: 41 ]  Przejdź na stronę Poprzednia strona  1, 2

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO