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

Pridružen-a: Sre 24 Sep 2003 12:19 Prispevkov: 726 Aktiv.: 3.06 Kraj: Brežice
|
Objavljeno: Sob Jun 06, 2009 2:10 am Naslov sporočila: LPC2148 tipka |
|
|
Imam problem pri branju tipk. Tipka P0.14 se vedno prebere normalno, medtem ko katera ostala nikoli, branje pa je narejeno na enak način.
Koda: |
#define TIPKA 0x40 /* P0.14 */
#define MSBS 0x80 /* P0.19 */
int main()
{
PINSEL0 = 0x50;
PINSEL1 = 0x0;
PINSEL2 = 0x0;
SCS = 0x3;
FIO0MASK = 0x0;
FIO1MASK = 0x0;
FIO0DIR0 = 0x8C;
FIO0DIR1 = 0x37;
FIO0CLR1 = 0x37;
FIO0DIR2 = 0x0; //na tem portu berem tipke
FIO1DIR = 0x00FF0000;
FIO1CLR = 0x00FF0000;
__I2C_init();
waitms(500);
while(1)
{
if ((FIO0PIN1 & TIPKA) == 0) { // TIPKA tukaj deluje
podprogram();
}
if ((FIO0PIN2 & MSBS) == 1) { // Tukaj tipka ne deluje
FIO1SET = 0x00800000; // P1.23 indikacija
}
if ((FIO0PIN2 & MSBS) == 0) {
FIO1CLR = 0x00800000; // P1.23 indikacija
}
//FIO1PIN2=FIO0PIN2; // ce uporabim ta stavek, se na FIO1PIN2 lepo vidijo pravilna stanja na FIO0PIN2
}
} |
Kje sem zamočil? Stanje tipke msbs je vedno 0, čeprav na pinu izmerim logično 1.
Hvala in lp. |
|
Nazaj na vrh |
|
 |
strobos Član

Pridružen-a: Sre 24 Sep 2003 12:19 Prispevkov: 726 Aktiv.: 3.06 Kraj: Brežice
|
Objavljeno: Pon Jun 08, 2009 12:20 am Naslov sporočila: |
|
|
Rešitev je v tem, da je treba primerjati prave pine in vrednosti... Pri 8 bitnih portih je potrebno biti bolj pazljiv...
Lp |
|
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: 495 dni
Powered by phpBB © 2001, 2005 phpBB Group
|