www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

LPC2148 tipka

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
strobos
Član
Član



Pridružen-a: Sre 24 Sep 2003 12:19
Prispevkov: 726
Aktiv.: 3.06
Kraj: Brežice

PrispevekObjavljeno: Sob Jun 06, 2009 2:10 am    Naslov sporočila:  LPC2148 tipka Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
strobos
Član
Član



Pridružen-a: Sre 24 Sep 2003 12:19
Prispevkov: 726
Aktiv.: 3.06
Kraj: Brežice

PrispevekObjavljeno: Pon Jun 08, 2009 12:20 am    Naslov sporočila:   Odgovori s citatom

Rešitev je v tem, da je treba primerjati prave pine in vrednosti... :bonk: Pri 8 bitnih portih je potrebno biti bolj pazljiv...

Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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