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



Teraz jest 1 gru 2024, o 12:46


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 28 gru 2012, o 05:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 gru 2012
Posty: 530
Lokalizacja: Bydgoszcz
Pomógł: 8

Witam!

Skąd kolega miał materiały, aby napisać taką obsługę? Poczytałbym o tym, ale z dobrego źródła. Zaznaczam, że nie mam jeszcze zielonej książki :-)

Pzdr

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2012, o 08:58 
Offline
Nowy

Dołączył(a): 09 maja 2012
Posty: 9
Pomógł: 1

kila napisał(a):
Witam!

Skąd kolega miał materiały, aby napisać taką obsługę? Poczytałbym o tym, ale z dobrego źródła. Zaznaczam, że nie mam jeszcze zielonej książki :-)

Pzdr


W sieci coś idzie wygrzebać na ten temat, np. takiego gotowca:

http://www.electronics-base.com/index.php/projects/complete-projects/108-avr-ps2-keyboard-key-readout
http://www.8051projects.net/download-d200-ps2-keyboard-library-from-atmel.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2012, o 17:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 paź 2011
Posty: 307
Lokalizacja: Lbt
Pomógł: 8

To jeszcze ode mnie po naszemu http://leon-instruments.blogspot.com/20 ... a-ps2.html

_________________
Ujemna delta to dopiero początek zabawy...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2012, o 23:38 
Offline
Moderator
Avatar użytkownika

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

W związku z zapytaniem na PRIV ;) pragnę Panu odpowiedzieć - że wprawdzie nie jestem w stanie ocenić merytorycznie kodu bo się tym nie bawiłem, ale po efektach które pokazujesz widać że pod tym względem jest OK ;) więc nawet tego oceniać nie trzeba. Pytałeś czy można skrócić kod przerwania .... więc tu mała uwaga albo dwie małe uwagi.

1. długi kod przerwania wcale nie oznacza długiego czasu wykonywania przerwania a u ciebie jest on pięknie podzielony switch'em, oraz IF'ami na logiczne bloki, dodatkowo ładnie wyprowadzone flagi do EVENT'sów ;) mniam ;) ... więc praktycznie nic dodać nic ująć, tym bardziej jeśli czasowo się to wyrabia w praktyce

2. ale oczywiście w takich konstrukcjach, gdyby zależało na większym wyżyłowaniu czasu i skracaniu o dosłownie każdy cykl zegara to jednak można coś tam poprawić - spójrz na poprawkę części case TX:

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


jak widzisz dodałem kilka poleceń else i pomyśl teraz jak to działało bez nich a jak z nimi hmmm?

bez tych else - załóżmy że w przerwaniu w tym case - sprawdzany jest pierwszy warunek - i niezależnie czy spełniony czy nie - musi zostać sprawdzony jeszcze każdy kolejny na takiej samej zasadzie. Jak mówię to i tak jest BARDZO krótko i dobry kod, ale jakby się właśnie uprzeć to dodanie tych elsów spowoduje, że gdy tylko pierwszy warunek z listy się wykona - to QUNIEC każdy kolejny już nie będzie sprawdzany nawet - więc łatwo sobie wyobrazić że jeszcze zyskamy w niektórych przebiegach dodatkowe cykle czasu na obsługę przerwania

to chyba tyle tak na gorąco ;)

_________________
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: 29 gru 2012, o 00:01 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Mirek, dzięki :) Zabieram się za analizę i naukę. Kod działa jak brzytwa, mogę podczas wysyłania komend zmieniających stan diod na klawiaturze naciskać klawisze jak mi się zywnie podoba i na LCD ładnie wszystko się pokazuje (w mojej prywatnej wersji obsługi lcd)
No i tego można się było spodziewać po tak napisanym przerwaniu. Dlatego tylko zwróciłem uwagę - że gdyby tam, że gdyby coś .... gdyby sprawa życia i śmierci .... to wtedy można dodać to co opisałem. Ale wiadomo to nie chodzi tylko o ten kod - taki nawyk może się przydać przecież w innych sytuacjach.

_________________
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: 14 paź 2013, o 21:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 sie 2013
Posty: 795
Lokalizacja: Poznań
Pomógł: 59

Miałem problem z kodem kolegi ANTYSTATYCZNY.
Objawy były takie:

po inicjacji lcd jest pusty.
naciskam krótko 'p' i otrzymuję 4d, jak puszcze to f0
naciskam krótko 'p' i otrzymuję a6, jak puszcze to f0
naciskam krótko 'p' i otrzymuję a6, jak puszcze to f0
naciskam krótko 'o' i otrzymuję a6, jak puszcze to f0
naciskam krótko 'o' i otrzymuję a2, jak puszcze to f0
naciskam długo 'o' i otrzymuję a2, po chwili 44, jak puszcze to f0
naciskam długo 'o' i otrzymuję a2, po chwili 44, jak puszcze to f0
naciskam długo 'p' i otrzymuję a2, po chwili 4d, jak puszcze to f0
naciskam długo 'p' i otrzymuję a6, po chwili 4d, jak puszcze to f0

niżej przedstawiam zmodyfikowany plik z jedną linijką ekstra ode mnie

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


Kody wklejamy przy pomocy syntax=c - Różowy J.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO