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


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.00 Kraj: Ljubljana
|
Objavljeno: Sob Nov 05, 2011 9:17 pm Naslov sporočila: razlaga pointerja |
|
|
Lep pozdrav!
V kodi večkrat napišem definicijo,
Koda: |
#define ADC_CSEL_REG (*((volatile unsigned int *) 0x13002024)) |
za katero vem, da definira pointer, ki kaže na naslov 0x13002024, v kodi pa lahko preko ADC_CSEL_REG spreminjam vsebino omenjenega naslova. Torej jasna mi je uporaba, vendar me zanima, če bi mi lahko kdo seciral oklepaje in razložil sam zapis.
Hvala! |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70656.54
|
Objavljeno: Ned Nov 06, 2011 1:07 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
71GA Član


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.00 Kraj: Ljubljana
|
Objavljeno: Tor Nov 08, 2011 3:28 pm Naslov sporočila: |
|
|
MarE69 je napisal/a: |
Ce malo seciras, zapises lahko tudi takole (je bolj citljivo):
unsigned int volatile * const ADC_CSEL_REG = (unsigned int *) 0x13002024;
volatile seveda zato, da prevajalnik ne naredi optimizacije, ampak ob vsaki uporabi spremenljivke res nalozi iz te lokacije (in ne npr. iz registra, kar bi bilo morda optimalneje). |
Nekako si še vedno ne znam razložiti dveh delov, ki si jih zapisal in namreč:
ter
|
|
Nazaj na vrh |
|
 |
markc Član

Pridružen-a: Čet 21 Feb 2008 18:02 Prispevkov: 77 Aktiv.: 0.36 Kraj: Dobropolje
|
Objavljeno: Sre Nov 23, 2011 1:15 pm Naslov sporočila: |
|
|
Napačno interpretiraš " * const". mišleno je
<pointer tipa unsigned int volatile> "unsigned int volatile *" <je konstanta ADC_CSEL_REG> "const ADC_CSEL_REG". z drugimi besedami... ADC_CSEL_REG je ime pointerja ki bo vedno kazal na določeno lokacijo.
<pripadajoča konstanta/številka naj se prevzame kot vrednost/lokacija pointerja tipa unsigned int> (unsigned int *) 0x13002024;
Upam da tudi sam nisem v zmoti
 |
|
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: 6 dni
Powered by phpBB © 2001, 2005 phpBB Group
|