Hirdetés
- Fogkefe: elektromos vagy manuális?
- Szevam: ChatGPT: Bizonytalansági jelölés funkció bekapcsolása
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Márkaváltás sok-sok év után
Ú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á).
-
Karma
félisten
1) Kellene egy malloc függvény először. Legegyszerűbb esetben ennyi megoldja:
#include <stdlib.h>
2) Ezt sajnos nem tudom, de első próbának a pwm változód deklarálásához tenném. Azaz a bemásold sorodat kezdeném úgy, hogy volatile. Nem tudom, hogy a fordító hogy viselkedik pointerrel elért struktúráknál, nekiáll-e egyáltalán optimalizálni...
Ú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!
- Milyen széket vegyek?
- Cudy routerek
- Fizetős szoftverek ingyen vagy kedvezményesen
- alza vélemények - tapasztalatok
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Formula-1
- Milyen okostelefont vegyek? OFF topik
- Apple MacBook
- Samsung Galaxy A54 - türelemjáték
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- Dell Premier KM7321W Többcsatornás Bluetooth vezeték nélküli billentyűzet+egér,használt,szép állapot
- Be Quiet! Pure Base 500 White
- ÚJ! BONTATLAN! Samsung S8 Független
- Phanteks Eclipse P400A Eladó dobozában
- Újszerű PlayStation 4 Pro GoldHEN 1TB - 20db PS4 játékkal (God of War, Cyberpunk 2077 és sok más)
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RX 6800 16GB / 32GB DDR5 / 1TB SSD
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Apple iPhone 12 Mini 128 GB Fekete 1 év Garancia Beszámítás Házhozszállítás
- Újszerű Acer Aspire A515 - 15.6"FHD IPS - i5-1335U - 16GB - 512GB SSD - Win11
- Telefon felvásárlás!! Samsung Galaxy S23/Samsung Galaxy S23+/Samsung Galaxy S23 Ultra
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

