Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Sre Feb 08, 2012 7:09 pm Naslov sporočila: Atmega162 in interrupti |
|
|
Lep pozdrav!
Mam eno vprašanje. Na atmega162 imam porabljena interrupt pina PD2 in PD3, ker jih potrebujem za enkoder. Bilo bi pa zelo fajn če bi imel vsaj še en prost pin ki bi omogočal interrupte. Če gledam po PDFu ima na PortA in PortC en kup (PCINT0-PCINT15) nekakšnih interrupt pinov. Zdj nevem ali mi te pini lahko kaj koristijo kot interrupti ali le kot navadni I/O pini.
P.s. Ali obstaja kakšna tema na forumu, kjer bi lahko postavljal "takšna" vprašanja, ki več ali manj samo smetijo forum
LP
Jakob |
|
Nazaj na vrh |
|
|
RudiP Profesionalec
Pridružen/-a: Sre Jul 2008 8:39 Prispevkov: 128 Kraj: KOPER
|
Objavljeno: Sre Feb 08, 2012 7:52 pm Naslov sporočila: |
|
|
Na voljo imaš tudi int2 - PB2. Z malo programske telovadbe bi lahko uporabil tudi interapte T0 in T1. _________________ Lep pozdrav ! |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Čet Feb 09, 2012 2:22 pm Naslov sporočila: |
|
|
Kolikor sem gledal datasheet, ma na PB2 le analogni komparator in pa RXD. Za interrupte T0 in T1 pa se da mogoče kje dobiti kakšen osnutek kode, da vidim če mi bo usperlo?
Hvala in lep pozdrav
Jakob |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
Objavljeno: Čet Feb 09, 2012 3:15 pm Naslov sporočila: Re: Atmega162 in interrupti |
|
|
JUG je napisal/a: | Če gledam po PDFu ima na PortA in PortC en kup (PCINT0-PCINT15) nekakšnih interrupt pinov. Zdj nevem ali mi te pini lahko kaj koristijo kot interrupti ali le kot navadni I/O pini.
|
Jakob,
vsi lahko služijo kot interupti:
Koda: | Enk1 Alias Pinc.2 'dolocimo, kje so izhodni pini enkoderja
Enk2 Alias Pinc.3
Enk3 Alias Pinb.5 'srednja tipka
Config Pinc.2 = Input
Config Pinc.3 = Input
Config Enk3 = Input
Pcmsk2 = &B00001100 ' omogocen interupt na enk pinih
Pcicr.2 = 1
On Pcint2 Sub_enkoder
Enable Pcint2
......
Sub_enkoder:
B1 = Encoder(pinc.2 , Pinc.3 , Gor_sub , Dol_sub , 0)
Return
|
to je primer za enkoder. Več boš našel v Datasheet-u od mikrokontrolerja. To je primer za ATMega168.
Lp
Jure |
|
Nazaj na vrh |
|
|
RudiP Profesionalec
Pridružen/-a: Sre Jul 2008 8:39 Prispevkov: 128 Kraj: KOPER
|
Objavljeno: Čet Feb 09, 2012 3:31 pm Naslov sporočila: |
|
|
JUG je napisal/a: | Kolikor sem gledal datasheet, ma na PB2 le analogni komparator in pa RXD. Za interrupte T0 in T1 pa se da mogoče kje dobiti kakšen osnutek kode, da vidim če mi bo usperlo?
Hvala in lep pozdrav
Jakob |
Oprosti za napačno informacijo, pomotoma sem gledal armega168.
Kot je Jure že povedal ima 162 mnogo vhodov za interapte. _________________ Lep pozdrav ! |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Čet Feb 09, 2012 10:11 pm Naslov sporočila: |
|
|
RudiP: nič narobe, sam da se kdo oglasi =)
Hvala obema, bom probal. zgleda da mi interrupt pinov ne bo zmanjkalo sedaj
Lep pozdrav
Jakob |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
Objavljeno: Pet Feb 10, 2012 11:50 am Naslov sporočila: |
|
|
JUG je napisal/a: |
Hvala obema, bom probal. zgleda da mi interrupt pinov ne bo zmanjkalo sedaj
|
Jakob,
res je, interrupt pinov resnično ne manjka, tudi pri Tiny4313 jih je cel kup, kljub temu, da je to 20-pin mikrokontroler. Princip pri Tiny4313 je podoben, kot sem opisal za Mega168.
Lp
Jure |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Sob Feb 11, 2012 6:05 pm Naslov sporočila: |
|
|
Ja mam malo težavo: kolker jst tole mal probavam pa gledam na internetu, se mi zdi, da te interrupti (PCINT) delujejo na celem portu (PA ali PC) enako, kar pomeni da ne glede na nastavitve, bo ob spremembi (0->1 ali 1->0) enega pina na portu, program vedno skočil v en in isti podprogram, ki je določen za tisti interrupt. Hočem povedati, da ne glede na to ali bo interrupt rutina aktivirana iz pina PINA.0 ali pa iz PINA.3, bo program skočil v isti podprogram. Ali se da mogoče skonfigurirati zadevo tako, da bi vsak pin imel svoj podprogram, in nebi vsi skakali v enega?
Pa še to, ali se da skonfigurirati te interrupte tako, da bi se aktivirali le ko bi bila sprememba stanja iz logične 1 na logično 0 (tako kot je pri Config INT0 = Falling)?
LP
Jakob |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
Objavljeno: Pon Feb 13, 2012 9:05 am Naslov sporočila: |
|
|
Jakob,
ne vem na pamet. Po moje bo treba pogledat v datasheet in si prebrati poglavje o interruptih.
Lp
Jure |
|
Nazaj na vrh |
|
|
|