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



Teraz jest 12 lut 2025, o 06:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
 Tytuł: Przerwania int0
PostNapisane: 15 maja 2015, o 17:39 
Offline
Nowy

Dołączył(a): 20 sty 2015
Posty: 6
Pomógł: 0

Witam mam taki problem z przerwaniami int0 chciałem podłączyć transoptor szczelinowy pod wejście int0 atmegi16 i zliczać impulsy tylko jest taki problem ze jak zasłonię szczelinę transoptora to zamiast mi dodać 1 impuls to dodaje mi albo 2 albo 10 jak padnie w czym może być problem poniżej zamieszczam kod i schemat atmega16 - Przerwania int0


Obrazek

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: 15 maja 2015, o 17:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Szczerze mówiąc piszę w trybie "chyba", ale zamieszczając takie define:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

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

...a to wygląda jak koszmarek- tzn. ja nie spotkałem się z takim zapisem, a być może można wpisywać komentarze w "#define".

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 maja 2015, o 18:02 
Offline
Nowy

Dołączył(a): 20 sty 2015
Posty: 6
Pomógł: 0

proszę kod poprawiony

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: 15 maja 2015, o 20:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
NeverGiveUp napisał(a):
jak zasłonię szczelinę transoptora ...

Ale zdajesz sobie sprawę, że zasłaniając szczelinę powodujesz przejście L / H a reakcję masz ustawioną ...no właśnie raz na "opadające" a raz na "zmianę".

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 maja 2015, o 21:35 
Offline
Nowy

Dołączył(a): 20 sty 2015
Posty: 6
Pomógł: 0

no wiem ze jest przejście z L / H no ale wg noty jak ja rozumiem powinno reagować na zbocze opadające czyli chyba jak spada z +5v do 0
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a w tym tylko zmieniać zmienna jak jest na pinie stan L powinna być =1 a jak jest stan H powinna byc =0



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2015, o 17:01 
Offline
Nowy

Dołączył(a): 20 sty 2015
Posty: 6
Pomógł: 0

ta linijka kodu miała ustawiać bit ISC01 w rejestrze MCUCR w stan niski ale źle myślałem i poprawiłem tak jak poniżej i dalej jest to samo działa jak klawisz raz dodaje 1 raz 2 a niekiedy nawet 6 razy transoptor to LTH301A a przegrodę zasłaniam czarnym kawałkiem plastiku

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: 16 maja 2015, o 17:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Być może sam sposób przesłaniania szczeliny nie jest pewny; spróbuj może do warunku sprawdzenia dopisać "_delay" i powtórzyć sprawdzenie - tak jak potwierdza się sprawdzenie przycisku.
To tak dla testu - przynajmniej miałbyś pewność co do mechaniki przesłony.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2015, o 19:47 
Offline
Nowy

Dołączył(a): 20 sty 2015
Posty: 6
Pomógł: 0

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


to działa tak jak powinno czyli jak jest odsłonięta to jest 1 a jak zasłonięta to 0 i nie zmienia się podczas zasłaniania tak jak by były drgania styku w klawiszu


jeszcze zmieniłem z int0 na int1 i tak samo się robi



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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