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



Teraz jest 22 kwi 2026, o 23:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 74 ]  Przejdź na stronę 1, 2, 3  Następna strona
Autor Wiadomość
PostNapisane: 1 lis 2013, o 22:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Witam.

Kto by się chciał ze mną podzielić wiedzą na temat klawiszy wielofunkcyjnych w Atmedze. Chodzi mi o to żeby pierwszym przyciśnięciem przycisku zapalić jedną diodę, drugim przyciśnięciem zgasić pierwszą, zapalić drugą, trzecim przyciśnięciem zapalić obie, a czwartym przyciśnięciem zgasić obie i tak od początku...

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Ostatnio edytowano 2 lis 2013, o 00:55 przez s.uchy, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2013, o 22:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

masz to pięknie opisane w rozdziale 8.4 Wstęp do systemów czasu rzeczywistego w Bluebook'u.

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2013, o 22:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Może zrób tak.
Napisz sobie cztery funkcje.
W pierwszej zaświeć pierwszą.
W drugiej zgaś pierwszą i zaświeć drugą.
W trzeciej zaświeć obydwie.
W czwartej zgaś obydwie.

Następnie napisz obsługę jednego klawisza. Po naciśnięciu klawisza zwiększaj wartość jakiejś zmiennej od zera do trzech. I w zależności od wartości tej zmiennej wywołuj odpowiednią funkcję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2013, o 23:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Ok, Dzięki. Poczytam to może się coś uda.

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2013, o 00:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

No sorry panowie, może to dla was proste, ale ja nie potrafię nic sensownego wykombinować.

------------------------ [ Dodano po: 30 minutach ]

Prawidłowo napisałem funkcje?

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

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2013, o 09:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

Jeśli w F3 chcesz gasić obie diody powinno być raczej

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

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2013, o 10:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

No to teraz trzeba się pogłowić nad obsługą klawisza hehe

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2013, o 10:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

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

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2013, o 19:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

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

Jak dobrze rozumiem to u chodzi o to że: jeśli na pinie PC7 jest stan niski to zrób coś tam?
Dobrze kombinuje?
Sorry za takie banalne dla was pytania ale początkujący nie mają łatwo.

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2013, o 19:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

Dokładnie kolego właśnie to

Wcześniej jeszcze trzeba ustalić kierunek portu i podciągnąć do VCC na przykład


A tak z ciekawości czy kolega posiada książkę ?

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2013, o 20:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

No właśnie pomału zaczynam kapować o co tu pomalutku chodzi. Tak, kolega posiada książkę tylko przyznam się bez bicia ze nie mam jej narazie kiedy czytać, a chce juz dłuższy czas zrobić prostą obsługę klawisza jak pisałem wcześniej. Jak będzie wolna chwila to nos w książkę tak z 5x od deski do deski żeby coś więcej zrozumieć hehe

------------------------ [ Dodano po: 3 minutach ]

teraz będzie dobrze?

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

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lis 2013, o 10:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Witam.

Może nie powinienem podawać Ci ryby tylko wędkę ale wiem po sobie,że jak się jest kompletnie zielonym to trudno cokolwiek wymyślić a podpowiedzi niewiele mówią.

Poniżej program, który po pierwszym wciśnięciu klawisza włącza pierwszą diodę, po drugim wciśnięciu - gasi pierwszą i włącza drugą, po trzecim - włącza obie a po czwartym gasi obie. Program jest bardzo prosty żeby początkującemu było łatwiej go analizować.
Do obsługi klawisza wykorzystałem funkcję z Mirkowego bloga.
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łę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lis 2013, o 12:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Witam Jacku.
Dziękuje bardzo za "świeżą rybkę". Chociaż jedna osoba rozumie jak to jest z zaczynającymi zabawę z uC. Kod na pewno się przyda jeszcze wielu osobom chcącym zbudować coś podobnego.
Na chwilę obecną myślałem ze to będzie prostsze, no i teraz czegoś takiego w życiu bym nie wymyślił. Jeszcze raz wielkie dzięki.

------------------------ [ Dodano po: 1 minucie ]

PS. Wiszę DUUUUUŻE piwo :D

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

Mam jeszcze parę pytań.

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


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


i nie chce działac przycisk z portu PD0, a chyba jest ok?

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lis 2013, o 13:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 lut 2013
Posty: 376
Lokalizacja: Kłopoty-Stanisławy
Pomógł: 33

jacekk232 napisał(a):
        while(1)
        {
                key_press(&key_lock, &PINC, KEY1, zmien_program);
 
                if(licznik == 0) program0();
                else if(licznik == 1) program1();
                else if(licznik == 2) program2();
                else if(licznik == 3) program3();
        }


Tam gdzie na czerwono trzeba jeszcze zmienić na PIND :)

------------------------ [ Dodano po: 1 minucie ]

A tak właściwie to jeden z trudniejszych sposobów na obsługę przycisku.
Ale z drugiej strony może to i lepiej zaczynać się uczyć od razu profesjonalnego podejścia :)


Autor postu otrzymał pochwałę

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lis 2013, o 13:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

No Panowie, naprawdę jesteście wielcy. Wreszcie pozwoliło to mi rozwiązać 1\3 problemów, resztę będę próbował sam rozwiązać bo głupio by już było prosić o "całe jezioro" :)

Mam nadzieję, że w dalszych próbach będę mógł liczyć na dalszą waszą drobną pomoc.

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lis 2013, o 18:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

acid3 napisał(a):
A tak właściwie to jeden z trudniejszych sposobów na obsługę przycisku.

Sposób może jeden z najtrudniejszych ale dlatego podałem ten bo jest dobrze opisany na Mirkowym blogu http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html
No i do tak prostych zastosowań jest idealny. I co najważniejsze nieblokujący. Początkującym trudno jest wymyślić jakąś sensowną obsługę klawiszy bez użycia delay.
Poza tym ten kod stanowi dobra bazę wypadową do własnych eksperymentów.

Kol. s.uchy w razie jakiś problemów śmiało pisz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lis 2013, o 20:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Ogólnie to mi chodzi o to aby dwa przyciski działały w taki właśnie sposób (K1+LED1 i LED2 oraz K2+LED3 i LED4). Właśnie zaczynam nad tym kombinowac, może coś wyjdzie :)

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2013, o 19:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Męczę dalej te przyciski Panowie i pytanie czy narobiłem tu straszną kaszane czy nie? Chciałem dodać drugi z tą samą funkcją ale jakoś działać nie chce.

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

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2013, o 19:28 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Masz wspólną zmienną key_lock na dwa przyciski.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2013, o 23:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Kurcze, pozmieniałem to i owo i dalej nic nie chodzi (tzn KEY1 chodzi), a po wgraniu kodu zapalają mi się czemuś od razu ledy 3 i 4 gdzie popełniam błąd?

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

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2013, o 23:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Błędów to tu się kilka znalazło.
Przejrzyj poniższy program z tym z przedostatniego Twojego postu. Ale linijka po linijce i zobacz w których miejscach zrobiłem poprawki.
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łę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 10:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

No fajnie, tak patrze na to co mam na kompie i to co tu jest to mało się pomyliłem, wreszcie coś zaczynam zatrybiać hehe
A teraz żeby jeszcze dodać następne klawisze, które będą już tylko do zapalania i gaszenia kolejnych diod to chyba nie muszę już podpinać klawiszy pod żadne liczniki???

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 13:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Jeśli chcesz zmieniać stan jednej diody jednym przyciskiem to dopisujesz sobie obsługę kolejnych przycisków np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

no i funkcję, które będą wywołane po wciśnięciu klawisza i które będą zmieniały stan diod na przeciwny
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Do tego konfiguracja pinów, deklaracje dodatkowych zmiennych i funkcji. I tak by to wyglądało w najprostszej wersji.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 17:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Zrobiłem chyba wszystko, tak mi się zdaje, ale wywala mi parę błędów, mogę prosić o sprawdzenie?

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

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 17:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

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

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


Programy piszesz w Eclipsie?
Bo mi Eclipse od razu pokazał w których liniach są błędy.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 21:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Tak w Eclipsie, Mirek mnie zaraził swoimi poradnikami i tak się zaczęło. Też mi pokazuje błędy, ale nie mogę dojść o co chodzi :(

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 22:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Pokazałem Ci konkretne linie, w których masz błędy. Przejrzyj je dokładnie, nawet literka po literce a znajdziesz.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 22:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Dopiero, zauważyłem że mam przecinki zamiast średników, ale i tak to mało dało

------------------------ [ Dodano po: 2 minutach ]

Chodzi pewnie o te DDRD, ale to tak ma być bo to już na porcie D są następne dwie ledy.

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 22:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

No właśnie tam mają być przecinki zamiast średników.
A w ustawieniach pinów nie masz średników.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2013, o 22:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 wrz 2013
Posty: 78
Lokalizacja: Podlasie, Dąbrowa B.
Pomógł: 0

Sorry, strasznie namieszałem, na porcie B mają być 2 ostanie ledy.

------------------------ [ Dodano po: 1 minucie ]



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

No faktycznie . . . .ale babole, sam nie mogę uwierzyć hehe

Sprawdzać, sprawdzać i jeszcze raz sprawdzać!!! (to oczywiście do mojej świadomości było :D )

------------------------ [ Dodano po: 33 minutach ]

No wreszcie jestem prawie w pełni zadowolony. do końcowego efektu brakuje mi jeszcze ostatniego przycisku gaszącego wszystkie ledy. Mam gdzieś kawałek kodu do tego i nie waham się go użyć :D
Postaram się go tam gdzieś wcisnąć, ale pewnie i tak się skończy na tym że będę znowu potrzebował waszej bezcennej pomocy.

_________________
ATB ver:1.4, BB, ECLIPSE, Eagle



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: 74 ]  Przejdź na stronę 1, 2, 3  Następna strona

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