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 

Tabela podatkov 12F675

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



Pridružen-a: Tor 05 Avg 2008 18:14
Prispevkov: 629
Aktiv.: 3.06
Kraj: Domžale

PrispevekObjavljeno: Čet Jul 02, 2009 9:06 am    Naslov sporočila:  Tabela podatkov 12F675 Odgovori s citatom

Pišem nek program, ki naj bi vseboval neko tabelo z 18 vrsticami in 2 stolpcema, v vsaki celici naj bi bila številka od 0 do 3! Zdelo se mi je, da bi lahko rešil z array 2D in ker z 2D arrayi še nisem dela sem malo pogooglal in si pomagal s to povezavo link

Moja tabela izgleda takole
Koda:
unsigned long led[18][2] = { {0,1}, {1,2}, {1,2}, {1,3}, {1,3}, {0,1},
                           {0,2}, {2,1}, {2,1}, {2,3}, {2,3}, {0,3},
                           {0,3}, {3,1}, {3,1}, {3,2}, {3,2}, {0,3}
                                              };


Javi mi da je premalo rama. Zanima me, kako bi se tega rešil? Pišem v C ju!

Hvala za pomoč

edit:

Upošteval sokratovo opozorilo in res znese 36*4 144 na začetku sem imel short kar pomeni 36*1=36 pa vseeno ni prijelo! Sem rešil drugače!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek4
Član
Član



Pridružen-a: Sob 18 Jun 2005 20:52
Prispevkov: 2952
Aktiv.: 12.45
Kraj: Tržič - Mesto med gorami

PrispevekObjavljeno: Čet Jul 02, 2009 10:38 am    Naslov sporočila:   Odgovori s citatom

Glede na to, da ti nihče noče odgovoriti. Torej ti potrebuješ tabelo 12x2 z vrednostmi od 0, 1 in 2.

Tako preprosto, kot si to naredilti ne bo šlo. Če narediš preprosto in za vsako vrednost uporabiš 4 bite (lowe in higher nibble) potem boš porabil 18b pomnilnika

char led[18] = {....}

potem pa prvega bereš
led[x] & 0x0f
in drugega
(led[x] & 0xf0) - (0xf0)

Če pa za 3 vrednosti uporabiš 2 bita (00, 01, 10 in za rezervo 11), potem gre pa zadevo stlačiti v 72 bitov = 9 byteov.
Le branje je nekoliko kompleksnejše.
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 -> Microchip PIC Č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: 497 dni


Powered by phpBB © 2001, 2005 phpBB Group