-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
DigitXT
félisten
válasz
lanszelot
#19855
üzenetére
A többszálúság az a kivétel.
Azt arra mondtam, hogy olyankor "kicsit"
bonyolultabb tervezni a programot. Amúgy, ha szigorúan nézzük, nem
soronként fut a program, hiszen a fordító előre lefordítja gépi kódba.
A leírt szöveg absztrakció...
Szkipt nyelvek tudnak soronként futtatni
programokat. (Ott simán lehet, hogy teljesen szar sor marad a kódban,
mégis hibátlanul fut, amíg oda nem ugrik... És akkor elszáll hibával...
)Ilyen szempontból az Arduino által futtatott C sokkal jobb, mivel már a
fordítás közben kiderülnek a szintaktikai hibák + típusosak a változók...
(Mondjuk egy AWK ezzel szemben sokkal rugalmasabb, könnyebb vele
pl. szövegeket feldolgozni, ad hoc jelleggel, rövid programokat írni. Ám
ha elírsz valamit simán megeszi: csak futás közben jön ki, hogy bugos.)Az Arduino Uno/Mega mint egymagos architektúra, egyszerre egyetlen
dolgot csinál, de azt relatíve gyorsan, így tudod kihasználni, hogy kvázi
egyidejűleg látszólag több dolgot csináljon, hogy "pörgeted" a loop-ot.Na most a delay az ezt hazavágja! Szóval nagyobb projekteknél, amikor
több bemenetet kell figyelni, vagy pl. szoftveres soros portot használsz,
nem fér bele, hogy álldogáljunk másodperceket, mert elveszik az adat...
És ilyenkor jön az, hogy megszakítás: az észreveszi... Illetve a hardveres
UART (ami szintén megszakításokkal működik), nagy sebességnél jobb!
Viszont felesleges megszakításokra építeni a programot, ha bőven elég
az is, hogy pörög a loop... A millis() figyelése jobb. Lásd órádra pillantás.Szerk: oké, a SoftwareSerial is megkerüli a delayt megszakításokkal, de
vannak limitációi. Én most pl. Nextion kijelzővel kommunikálok 115200
baud sebességgel (RX1), anno ez mintha nem akart volna összejönni...
Szerk: emellett egy másik porton olvasom a kijelzendő adatokat, stb.
-
válasz
lanszelot
#19855
üzenetére
Na most gondolod rosszul, nem tud több szálon futni (kivétel mondjuk az esp32 ahol két mag van), ezt miből vontad le?

A program futása soronként történik, kivéve ha megszakítást használsz (de valójában ott is soronként fut a kód).
Ami téged félrevezetett, hogy a megoldás, amit adtam neked, egy modern oprendszer időosztásos módszeréhez hasonlóan látszólag egy időben, de valójában felváltva csinál több dolgot.
Új hozzászólás Aktív témák
- iPhone 17 Pro Max 256Gb Új bontatlan Garanciális Számlás(27%)
- iPhone 17 Pro 256Gb Új bontatlan Garanciális Számlás(27%)
- Xiaomi Redmi Note 14 Pro+ 8/256GB, Megkímélt, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- Csere-Beszámítás! Macbook Air M1 8/256 Retina! Makulátlan! Akksi 96%!
- Apple iPhone 14 128GB, Akku: 98%, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Samsung Galaxy Z Fold7 Silver Shadow-karcmentes 100% akku / 34 ciklus Garancia 2028.09. 27-ig
- AKCIÓ! DELL PowerEdge R630 rack szerver - 2xE5-2660v4 (28c/56t, 2.0/3.2GHz), 96GB RAM, 4x1G, áfás
- Apple Watch Ultra 2,Újszerű,Dobozával,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3421
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Azt arra mondtam, hogy olyankor "kicsit"
Szkipt nyelvek tudnak soronként futtatni
)

ekkold
