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



Teraz jest 7 wrz 2025, o 14:56


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 28 wrz 2013, o 16:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 wrz 2013
Posty: 33
Lokalizacja: Lubartów
Pomógł: 0

Witam :)

Podczas tworzenia mojego projektu natknąłem się na kolejny problem. Chce spowodować aby po naciśnięciu przycisku dokonało się przerwanie zewnętrzne w którym zmienną temp zwiększyło mi o 1. Przerwanie działa ale...
I teraz dwa przypadki:

1. Jak usunę warunek sprawdzania PIND2 to dodaje mi do zmiennej temp raz 1, a czasami 2 co jest dla mnie zjawiskiem niekorzystnym
2. Jak dodam warunek sprawdzający PIND2 to znowu muszę bardzo szybki nacisnąć dwa razy wtedy mi doda prawidłowo.

Przestawiałem INT0 na zmiane zbocza, reakcje na stan niski itd.. no i wsumie nic nie pomaga. Jak dodam w pętli głównej warunek i zwłoke czasową to chodzi prawidłowo, ale mi bardzo zależy aby to było w przerwaniu.

PD2 to pin przerwania INT0

Poniżej kod przerwania:


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

_________________
Pozdrawiam
t0mek
gg: 2275292



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 wrz 2013, o 17:27 
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.


Pisałem z pamięci, więc może być gdzieś jakiś babol, ale to raczej w tym kierunku należy iść a nie w _delay_ms w przerwaniu.

Na końcu napisałeś - else sei(); - to trochę nie tak, po zakończeniu obsługi przerwania automatycznie wraca globalne zezwolenie.

_________________
50 znaków Atnela ....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 wrz 2013, o 17:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 wrz 2013
Posty: 33
Lokalizacja: Lubartów
Pomógł: 0

jestem początkujący dlatego pytam... timerów nie uruchamiałem bo zwłoki czasowej używam tylko i wyłącznie do eliminacji drgań. Zrobię tak jak mówicie, dzięki za pomoc

_________________
Pozdrawiam
t0mek
gg: 2275292



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 wrz 2013, o 18:28 
Offline
Moderator
Avatar użytkownika

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

t0mek napisał(a):
jestem początkujący dlatego pytam... timerów nie uruchamiałem bo zwłoki czasowej używam tylko i wyłącznie do eliminacji drgań. Zrobię tak jak mówicie, dzięki za pomoc


Jeśli w książce nie doszedłeś jeszcze do porządnej obsługi klawiszy np w rozdziale "Wstęp do systemów czasu rzeczywistego" to posiłkuj się taką uproszczoną ale za to bardzo dobrze działającą wersją obsługi klawiszy a na dodatek nieblokującą:

http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html

i zapamiętaj sobie to co pisał wyżej kolega Antystatyczny. Jest taka jedna zasada, lepiej skoczyć z mostu niż:

1. w przerwaniu używać delayów
2. w przerwaniu używać obsługi LCD

nigdy i w żadnym przerwaniu, pod żadnym pozorem się tego nie robi. O tym musisz wiedzieć nawet jak ktoś cię obudzi nagle w środku nocy i błyśnie lampą błyskową w oczy ;)

ok ? ;)

_________________
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: 28 wrz 2013, o 19:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 wrz 2013
Posty: 33
Lokalizacja: Lubartów
Pomógł: 0

heh, ok. Początki są trudne :) Dzięki wszystkim za pomoc

_________________
Pozdrawiam
t0mek
gg: 2275292



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

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