Új hozzászólás Aktív témák
-
Szirty
őstag
Hali moseras!
"Ez így jól hangzik, de mi van akkor, ha el kell indítanom valamit 17:40:28-kor, és az RTC-t olvasó taszk mondjuk 17:40:27 legvégén olvasott be értéket"
Ha te végzed az idő bekövetkeztének a figyelését, akkor ezt a problémát elkerülheted, ha az idő összehasonlítását (beállított és az óra) nem egyenlőségre vizsgálod, hanem nagyobb relációra és erre teszel egy él figyelést.
Vagyis ha az RTC-ből olvasott idő nagyobb mint a beállított, akkor bebillentesz egy bitet. Ezt a bitet figyeli a programod, hogy mikor változik 0-ról 1-re.
Ennél csak arra kell figyelni, hogy ha állítják az RTC-t, átállás van téli nyári időszámításra, vagy a beállított időt állítják úgy, hogy az állítás következtében teljesül a feltétel, akkor is "jelezni" fog.Ha az idő figyelését a rendszerre bízod, akkor nyilván rajta múlik hogyan kezeli az ilyen esetet. Mint pl. S7-nél vannak timer interruptok (beállított időpontban meghív egy blokkot).
"Ha van n darab taszkom, amik egy közös GLOBAL területen lévő változót írnak/olvasnak (mint pl. az előbb), akkor mi a megoldása annak, hogy az olvasó taszk csak akkor nyúljon bele, ha az író taszk már végzett az írással"
Ez nagyon rendszerfüggő.
De szerintem nem kell ezzel as problémával számolni, mivel a több taszk ellenére is csak egy dolgot képes elvégezni egy időben. Tehát amikor éppen ír, akkor biztos hogy nem fog olvasni, és viszont.
Ha az írás/olvasás több adatot érint amely hosszabb idő és elvileg megszakítható, akkor csak onnan kapsz választ a kérdésedre ha megnézed az adott rendszer timing dolgait. S7-hez van ilyen, nem tudom wagohoz van-e. Ebben le van írva hogy minek mekkora a prioritása és mi mit képes félbeszakítani és mit nem.Szerintem két taszk nem egymástól teljesen függetlenül aszinkron módon fut.
Nekem akkor volt ilyen jellegű problémám, amikor operátorpanellel kellett kommunikálni (PLC JOB-ok futtatása a panelen). De ott voltak szemafor jellegű jelzések, amivel lehett koordinálni nikor ki írjon.
Új hozzászólás Aktív témák
- GIGABYTE RX 6800 XT 16GB GDDR6 GAMING OC - Eladó!
- BESZÁMÍTÁS! ASRock A520M R5 5500 16GB DDR4 500GB SSD RX 5700XT 8GB Rampage SHIVA Seasonic 650W
- BESZÁMÍTÁS! MSI B450M R5 5600 16GB DDR4 512GB SSD RX 6650 XT 8GB Rampage SHIVA FSP 650W
- BESZÁMÍTÁS! ASUS B450M R7 5700 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Cooler Master 650W
- BESZÁMÍTÁS! AsRock H510M i5 11500 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Adata 600W
- Vállalom FRP Lock os telefonok javítását ingyen kiszálással és akár helyszíni javittással
- BESZÁMÍTÁS! ASRock A520M R5 3600 16GB DDR4 512GB SSD RTX 2060 Super 8GB DarkFlash DK352 Plus 500W
- Apple iPhone 16 Pro / 256GB / Kártyafüggetlen / 12HÓ Garancia / Akku : 100%
- BESZÁMÍTÁS! MSI B650 R7 8700F 64GB DDR5 512GB SSD RX 7700 XT 12GB LIAN LI LANCOOL 217 FSP 650W
- Apple iPhone 17 Pro 256GB Deep Blue Újszerű állapot 100% akku (51 ciklus)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
