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 

Še en univerzalni menu
Pojdi na stran Prejšnja  1, 2
 
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
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.51

PrispevekObjavljeno: Čet Apr 20, 2006 6:51 pm    Naslov sporočila:   Odgovori s citatom

Seveda, prav imas, tisto je moja napaka - pisal sem na hitro preden sem sel ven dokler je se bilo lepo vreme ... bo drugic boljse. Little-endian.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
snoopy
Član
Član



Pridružen-a: Ned 11 Maj 2003 1:17
Prispevkov: 230
Aktiv.: 0.97
Kraj: Radovljica

PrispevekObjavljeno: Čet Apr 20, 2006 8:17 pm    Naslov sporočila:   Odgovori s citatom

Sokrat sem probal danes tvoj predlog. Dela Very Happy . vendar Confused ne zaznava tipke vedno.
Sem napisal da skenira samo 3 tipke in ko zazna izpiše na LCD.


Kaka ideja kje kiksam.



Koda:

Koda:
if (((BeriTipke() & 0x01 ) != (stanje & 0x01 )) & ((stanje & 0x01 ) == 0))
      {
      Clear_LCD();
      lcd_gotoxy(1,1);
      printf(lcd_putc, " Stisnil si ");
      lcd_gotoxy(0,0);
      printf(lcd_putc, "  Tipko 1");
        }
 
   
  if ((BeriTipke() & 0x02 ) != (stanje & 0x02 )) {
      Clear_LCD();
      lcd_gotoxy(1,1);
      printf(lcd_putc, " Stisnil si ");
      lcd_gotoxy(0,0);
      printf(lcd_putc, "  Tipko 2");
       }
   
 
   
   if ((BeriTipke() & 0x04 ) != (stanje & 0x04 )) {
      Clear_LCD();
      lcd_gotoxy(1,1);
      printf(lcd_putc, " Stisnil si ");
      lcd_gotoxy(0,0);
      printf(lcd_putc, "  Tipko 4");
       }
       stanje = BeriTipke();


Nazadnje urejal/a snoopy Čet Apr 20, 2006 9:43 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.51

PrispevekObjavljeno: Čet Apr 20, 2006 9:09 pm    Naslov sporočila:   Odgovori s citatom

Ce odmislim, da nimas debounca, potem ne vidim nobene ocitne napake - kaj sploh mislis s tem, da "ne zaznava tipke vedno" ?

Tvoja koda registrira spremembo od trenutka, ko se nastavi spremenljivka stanje. Ce je pritisk tipke prekratek, da bi ga koda zaznala (v najslabsem primeru je to cas, ki je potreben od konca zanke do tretjega if-a), potem ga seveda ne bo zaznala.

Aha, pa se to: pri drugi in tretji tipki ti manjka del kode in bi zato moral dobiti spremembo tako od pritisku kot spustu tipke.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
snoopy
Član
Član



Pridružen-a: Ned 11 Maj 2003 1:17
Prispevkov: 230
Aktiv.: 0.97
Kraj: Radovljica

PrispevekObjavljeno: Čet Apr 20, 2006 9:33 pm    Naslov sporočila:   Odgovori s citatom

Sem dodal zakasnitev po zajemanju statusa, sedaj dela Very Happy .

Zgleda je prehitro tekel program, in ni vedno zaznal razlike med statusom in branjem tipke.

PS kako moraš vpisat kodo za program , da jo obarva zeleno?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.51

PrispevekObjavljeno: Čet Apr 20, 2006 9:40 pm    Naslov sporočila:   Odgovori s citatom

1: program bi sicer lahko napisal se nekoliko manj neucinkovito z uporabo dodatne spremenljivke (tako bi bil interval preverjanja vsakic enako dolg, ne glede na to katero tipko preverjas oziroma kako dalec v tem delu kode si ze prisel), njej bi pripisal vredniost BeriTipke() na vrhu zanke, spremenljivki stanje pa bi pripisal vrednost te nove spremenljivke (in ne vec BeriTipke() ) na dnu zanke. Vse drugo ostane enako, v vseh if-ih pa seveda klic BeriTipke() nadomestis s to novo spremenljivko.

2: uporabi [code] UBB tag. Le-tega lahko dodas rocno (natipkas), ali pa relevantni del teksta oznacis z misko ali tipkovnico (shift + premikaj kurzor) in pritisnes gumbek Code zgoraj (desno od gumbov za Bold, Italic, itd.).
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
AlesH
Član
Član



Pridružen-a: Pon 20 Mar 2006 21:20
Prispevkov: 16
Aktiv.: 0.07

PrispevekObjavljeno: Sob Apr 29, 2006 11:12 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
V kodi so rutine za izpis na grafični LCD. Če koga zanima, lahko objavim tudi to...


MarE69 prosil bi, ce lahko objavis svoje funkcije za GLCD. Zanimajo me predvsem osnovne: inicializacija, risanje tocke, pisanje texta... Sam sem sicer nekj pisal vendar ne deluje. Hvala.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
linel
Član
Član



Pridružen-a: Čet 06 Mar 2008 21:14
Prispevkov: 178
Aktiv.: 0.84
Kraj: prekmurje

PrispevekObjavljeno: Čet Dec 17, 2009 9:41 pm    Naslov sporočila:  Še en univerzalni menu Odgovori s citatom

kako bi pa v bascomu to izvedel? ima mogoče že gdo kaj narejeno? jaz se sicer nekaj mantram pa kar mi je uspelo, je da se z dvema tipkama pomikam gor in dol po (glavnem) meniju. zdaj bi še rad da bi z tretjo tipko prišel v pod meni in bi se pač ta vsebina prikazala v drugi vrstici pod tisto ka je mišljeno za vsebino v glavnem meniju. z četrto tipko pa pač en skok nazaj. kaj svetujete? sem pa še začetnik..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 59.91
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Pet Dec 18, 2009 1:36 am    Naslov sporočila:   Odgovori s citatom

Bascom in ARM ? Tole po moje ne bo šlo.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
linel
Član
Član



Pridružen-a: Čet 06 Mar 2008 21:14
Prispevkov: 178
Aktiv.: 0.84
Kraj: prekmurje

PrispevekObjavljeno: Pet Dec 18, 2009 7:33 am    Naslov sporočila:  Še en univerzalni menu Odgovori s citatom

se opravičujem, lahko post premkanete na ustrezno lokacijo. videl sem da je pogovor o tem stekel tu že prej in sem še vprašal za bascom.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5537
Aktiv.: 24.03
Kraj: Domzale

PrispevekObjavljeno: Pet Dec 18, 2009 8:22 am    Naslov sporočila:   Odgovori s citatom

Mare je dal enkrat link do enega prevajalnika Basic za ARM - žal trenutno nimam shranjenega linka. Mislim, da ima takšne "osnovne" funkcije že pokrite.

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 766
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Sob Dec 19, 2009 10:17 am    Naslov sporočila:  Re: Še en univerzalni menu Odgovori s citatom

Ti MarE69 ?

Moje poznavanje C-ja je bolj klavrno zato tudi vprašanja..


Torej za premikanje uporabljaš 4 tipke gor,dol, naprej, nazaj ter ENT za potrditev

v začetni strukturi so akcije, ki se izvedejo glede na to katera tipka je pritisnjena.

z "draw_menu" pa izpišeš trenuten meni..


Če prav razumem naprimer: &Sub13Exec kliče funkcijo, ki z potrditvijo v določenem meniju izvedeš ??


Zanima me tudi kje je kakšna pavza oziroma.. debounce?

v funkciji za branje tipk te prebereš in se glede na pritisnjeno tipko premikaš med meniji. A nikjer ne preverjaš ali je bila ta tipka že prej pritisnjena torej v primeru da tipko držiš preveč časa se zelo hitro premikaš med meniji?
Ta preveč časa pa je lahko tudi recimo.. 0,5sec?
Torej se ti lahko zgodi da ob vsakem pritisku tipke prideš za več menijev naprej?

V bistvu je edina omejitev čakanje v drugih funkcijah recimo ob izpisu menijev..??

Ali pa kaj narobe razmišljam??



Še nekaj mi ni jasno.. v kodi za branje tipk..

razumem KEY1_LEFT, KEY2_UP, KEY3_DOWN..
a pri KEY4_RIGHT? če prav razumem iz kode z to tipko potrdiš izbiro torej se izvede "akcija" kot če bi potrdil z ENT?
na koncu pa če je tipka različna od prejšnjih "case" torej ENT pa greš na naslednji-child meni?

ni tukaj nekaj zamenjano??


Koda:

         case (KEY4_RIGHT) : {
           if (current->exec != NULL) {
             exec = current->exec;
            exec();
           } else
               if (current->child != NULL){
                 current = current->child;
               draw_menu (current);
              }
           break;




???



Hvala za potrpežljivost!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
galex4
Član
Član



Pridružen-a: Tor 01 Apr 2008 18:27
Prispevkov: 459
Aktiv.: 2.18

PrispevekObjavljeno: Ned Dec 20, 2009 6:10 pm    Naslov sporočila:   Odgovori s citatom

sem objavil na tem linku moj zadnji post http://www.elektronik.si/phpBB2/viewtopic.php?t=15506&postdays=0&postorder=asc&start=30

mogoče bo kaj več pomoči na tej temi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno 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
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
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: 7 dni


Powered by phpBB © 2001, 2005 phpBB Group