logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[BASCOM] Jak skonfigurować przerwanie PCINT30 na mega644p w BASCOM?

Hypno 11 Cze 2016 21:53 867 7
REKLAMA
  • #1 15736288
    Hypno
    Poziom 10  
    Witam,
    Mam mały problem z ogarnięciem tematu odnośnie przerwań. Używam Mega644p i potrzebuję odpalić procedurkę wywołaną zewnętrznym przerwaniem sygnałem podłączonym pod PD6. W sumie to czy ta nóżka czy inna nie ma większego znaczenia. Problem jest ten sam jak odpalić przerwanie inne niż "typowe" w BASCOM. W opisie Atmelowskim ten port przykładowy opisany jest także jako źródło przerwania PCINT30. Żeby było jeszcze dramatyczniej przerwaniem tym chcę wybudzać procek z trybu uśpienia.
    Czy może zna ktoś rozwiązanie problemu? Interesuje mnie rozwiązanie w BASCOM lub może jakaś wstawka asemblerowa. Będę wdzięczny za podpowiedź.
  • REKLAMA
  • #2 15736491
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 15736532
    Hypno
    Poziom 10  
    Wielkie dzięki za szybką odpowiedź. Zrozumiałem już ideę tych przerwań.
    Mam jedno pytanie jeszcze wg. tego co zrozumiałem i co napisałeś jako przykład. Programik się kompiluje ale przerwanie nie odpala się (na ten port wchodzi mi sygnał 1Hz z zegarka PCF8583). Nie powinienem jeszcze skonfigurować jakie jest wyzwalanie? Czy zboczem czy stanem czy zmianą?
  • REKLAMA
  • Pomocny post
    #4 15736555
    Konto nie istnieje
    Konto nie istnieje  
  • #5 15736570
    Marek_Gorecki
    Poziom 16  
    Przerwanie PCINT wystepuje na skutek zmiany.
    Nie ma mozliwości zrobić aby było np tylko na jedno zbocze.
    Musisz w procedurze obsługi przerwania sprawdzić, jakie to było zbocze.
  • #6 15736624
    Hypno
    Poziom 10  
    Rozumiem co piszecie ale działać nie chce :-(
    Jak sprawdzam port na którym jest przerwanie tak ordynarnie IF ... THEN ... to mam sygnał 1Hz. Jak włączam przerwania to nic się nie dzieje i nieważne czy PortD.6 jest Input czy nie i czy jest ustawiony na 1 czy nie.
  • Pomocny post
    #7 15736634
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #8 15736804
    Hypno
    Poziom 10  
    Dzięki za pomoc oczywiście głupi błąd pomiędzy Portd i Pind a że kod dość długi (oczywiście ten mój) więc patrzyłem jak sroka w kość i nie mogłem zauważyć. Ale idee rejestrów przerwań w końcu zrozumiałem.
REKLAMA