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 

pic spremenljivka

 
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
maradona
Neznanec
Neznanec



Pridružen-a: Tor 14 Jun 2005 19:19
Prispevkov: 2
Aktiv.: 0.01

PrispevekObjavljeno: Sre Okt 12, 2005 10:35 pm    Naslov sporočila: icon_shocked pic spremenljivka Odgovori s citatom

Namreč izdelujem števec frekvence in pri tem sem naletel na težavo. Pri pretvorbi v periodo ali obratno je spremenljivka ( katero sem deklarilar z "unsigned long int")premalo vrednost. Zato moram pri pretvorbi prvo vrednost ki jo števec prešteje delit, kar mi pa pomeni manjšo ločljivost in potem množit. Zanima me kako bi rešil to težavo, če ima kdo kako idejo? Programiram v c jeziku, uporabljam PIC 16f876.

Hvala za vse ideje. Razz
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
stealth.us
Član
Član



Pridružen-a: Tor 13 Sep 2005 20:06
Prispevkov: 99
Aktiv.: 0.42

PrispevekObjavljeno: Sre Okt 12, 2005 10:51 pm    Naslov sporočila:   Odgovori s citatom

Si poskusil morda ze long ali double?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Sre Okt 12, 2005 11:50 pm    Naslov sporočila:   Odgovori s citatom

Če imaš za tale izračun na voljo precej procesorskega časa (nekaj ms), uporabi float ali pa double.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Proteus
Član
Član



Pridružen-a: Sre 15 Jun 2005 10:03
Prispevkov: 1943
Aktiv.: 8.20

PrispevekObjavljeno: Čet Okt 13, 2005 9:44 am    Naslov sporočila:   Odgovori s citatom

Citiram:
NeoTO: "uporabi float"

Floating Point v principu ničesar ne rešuje, saj se praviloma pakira v 32 bitov in ima kot tak manjšo resolucijo, kot pa 32 bitni integer pri ustreznem skaliranju. Mantisa pri Floating Pointu (n.pr. po standardu IEEE 754) je dolga samo 23 bitov, ostalo pa pripada exponentu in predznaku, torej se resolucija zmanjša kar za 9 bitov, kar pa ni tako malo.

Da ohraniš resolucijo moraš seveda paziti kdaj in kako deliš ter kdaj množiš. Po potrebi kaj tudi skaliraš na nižjo vrednost, če s tem ničesar ali malo izgubiš. Zaradi obdržanja resolucije je to včasih kar tricky zadeva.

Pri 8 bitnih cpu-jih imaš pri C-ju običajno največ unsigned long, ki je 32 bitni Sad vzami ARM, tam imaš unsigned long long, ki je 64 bitni, s tem pa se že da dihat Rolling Eyes

V principu, če ti 32 bitov ne zadošča, ti še vedno osatne dobra stara "ročna" matematika s prekladanjem številk po registrih. Potem je omejitev samo razpoložljiva memorija.
Nazaj na vrh
Skrit 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: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group