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



Teraz jest 21 mar 2026, o 08:06


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
 Tytuł: Przerwanie INT0
PostNapisane: 18 lip 2015, o 11:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

Witam,
Mam mały problem ;D
Chcę, aby po połączeniu Pinu PD2 do GND inkrementowała się zmienna przerwanie.
Oto kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jeśli połączę się z układem i nie zrobię nic, to zmienna po pierwszym przejściu pętli już przyjmuje wartość 1:
Obrazek

Dlaczego tak się dziwnie dzieje?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2015, o 12:01 

Pomógł: 0

A jaki stan ma pin zanim włączysz podciąganie w 28. linijce? :) Przerwanie już jest skonfigurowane, flaga przerwania się ustawia i po globalnym włączeniu przerwań procek skacze do ISR.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2015, o 12:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

Teraz funkcja inicjalizujprzerwanie wygląda tak:

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

I dalej źle działa ;-(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2015, o 12:20 
Offline
Użytkownik
Avatar użytkownika

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

Spróbuj wyzerować flagę przerwania INT0 przed włączeniem przerwań globalnych
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

To jest przykład dla Atmegi8.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2015, o 12:23 

Pomógł: 0

Faktycznie chyba głupot nagadałem! Tu nie chodzi o flagę ustawioną przed sei, bo wtedy inkrementacja nastąpiła by od razu po sei i już pierwsza przesłana wartość nie byłaby zerowa. ... choć spróbować nie zaszkodzi :)



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2015, o 12:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

ok;-) już znalazłem problem
Coś mam problem z obsługą RS232 (z tą biblioteką z wykorzystaniem bufora).
Chodzi o to że gdy użyję funkcji uart_puts("napis");
to mi napięcie na PD2 spada do 0V. (nie jest podciągane do +5V)
Nie mam czasu teraz na analizę tego..
Wykorzystałem bibliotękę blokującą (do obsługi RSa) i wszystko działa..
Jak będę miał czas to sprawdzę czemu na tej z buforem to nie działa ;P (pewnie porobiłem jakieś zmiany i coś popsułem :PP)



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 0 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