Új hozzászólás Aktív témák
-
Karma
félisten
Ezt a cikket most találtam, érdemes elolvasni.
A kommentek között az eredeti kérdésedre is választ kapsz, idézem:Here is the best practice for use with structs that define memory-mapped I/O device registers:
typedef struct { ... } volatile newtype_t;
newtype_t * const p_newtype = (newtype_t *) BASEADDR; -
Karma
félisten
A volatile nem azért kell, hogy elérhesd interruptból (ahhoz csak "megfelelő" helyre kell tenned), hanem azért, hogy a fordító ne optimalizálja ki az olyan ifeket és for/while ciklusokat, ahol ennek a struktúrának az elemeit használod fel a feltételben.
Volatile nélkül ugyanis azt gondolhatja a fordító megfelelően magas -O szint mellett, hogy "na ez biztos nem változik meg, ez a feltétel felesleges, kidobom" - és csodálkozhatsz hogy nem reagál a program. A volatile ezt tiltja meg.
BTW szerintem egyszerűbb lenne, ha nem a heapen hoznád létre ezt a struktúrát. Végülis elég kicsi. Az interruptos elérés miatt lehet, hogy globális változónak praktikusabb (más fordítási egységben. pl. az interruptkezelődben meg externnel hivatkozol rá).
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- iPhone 12 Pro 128GB gyári független új akku fizikai dual SIM!!!
- Samyang AF 85mm f/1.4 FE II objektív Sony E
- Eladó egy igazi ritkaság Dell UltraSharp 32" 8K Monitor - UP3218K
- eladó Dell U4320Q Monitor 42.5 " 3840 x 2160 (4K UHD)
- Új Bontatlan Lenovo ThinkPad P16v Gen2 Mobil Munkaállomás -50% Ultra 7 165H 32/1TB RTX 2000 8GB 30Hó
- Apple Macbook Air 15,3" M3 8C CPU/10C GPU/16GB/256GB (MC9E4MG/A) Ezüst - MAGYAR - 77 Ciklus - Gari
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- 10% tól elvihető BANKMENTES , KAMATMENTES , RÉSZLETFIZETÉS Legion Slim 5 16APH8 - Type 82Y9
- Xiaomi Redmi Note 14 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3563,100% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest



