 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.13 Kraj: Kobarid
|
Objavljeno: Tor Jun 14, 2005 6:09 pm Naslov sporočila: Tipkovnica ter LPC932 |
|
|
Pozdrav
Ali je kdo uporabljal tipkovnico (mrezo) z omenjenim mikrokontrolerjem?
Z Code Architectom si lepo nastavim mrezo, ampak mi ni jasno, kako beres stanje? Vem, da se generira prekinitev in v registru KBMASK beres, kateri pin je bil sprozen. Ni mi pa jasno, ali se objavita oba pina, ali moras drugi pin mreze nekje sam najti?? _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70830.65
|
Objavljeno: Tor Jun 14, 2005 6:42 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.13 Kraj: Kobarid
|
Objavljeno: Tor Jun 14, 2005 6:56 pm Naslov sporočila: |
|
|
Ziv Mare
Predvidevam, da sem jih. Evo to mi je generiral architect.
Seveda tiskovine se nimam tako, da bi "v zivo" preiskusil. Bolj me zanima, kako razberes katera tipka je bila stisneja? Naprimer tipka 1. ima mrezo P0.0 in P0.1 to pomeni, da bo vrednost register KBMASK 00000011b ??? Ce je tako, kako pa razlikujes med tipko 1(P0.0 in maska P0.1) ter tipko 2(P0.1 in maska P0.0)? Menda, lahko tudi tako nastavljas? Predpostavljam, da moras v registru gledati masko in potem se skenirati port ???
void keypad_init
(
void
)
{
// define pattern
KBPATN = 0xFF;
// define P0 pins that trigger interrupt
KBMASK = 0x07;
// pattern must match
KBCON = 0x02;
// set P0 pins as inputs
P0M1 |= 0x07;
P0M2 &= ~0x07;
// set isr priority to 0
IP1 &= 0xFD;
IP1H &= 0xFD;
// enable keypad interrupt
EKBI = 1;
}
/***********************************************************************
DESC: Keypad Interrupt Service Routine
RETURNS: Nothing
CAUTION: keypad_init must be called first
EA must be set to 1
************************************************************************/
void keypad_isr
(
void
) interrupt 7 using 1
{
// clear interrupt flag
KBCON &= 0xFE;
} _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70830.65
|
Objavljeno: Tor Jun 14, 2005 10:03 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.13 Kraj: Kobarid
|
Objavljeno: Sre Jun 15, 2005 5:12 pm Naslov sporočila: |
|
|
Aha, tu je pa prav drugace razlozeno... Bom stestiral v kratkem in sporocil rezultate _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70830.65
|
Objavljeno: Sre Jun 15, 2005 9:03 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|