Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Fogkefe: elektromos vagy manuális?
- sh4d0w: StarWars: Felismerés
- Brogyi: CTEK akkumulátor töltő és másolatai
- Lalikiraly: Kaáli Autó-Motor Múzeum
- Real Racing 3 - Freemium csoda
- GoodSpeed: Ágymatrac keresési kálvária
- gban: Ingyen kellene, de tegnapra
-
LOGOUT
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
-
Janos250
őstag
Erre mindenki mást javasol.
Az én véleményem:
Elsődlegesen a WiFi használata. Szerverre van többféle verzió a neten, mind kicsit más.
Én nem azokat használom, hanem az alapot, tömören a lényege:WiFiServer server(80);
WiFiClient client ;A loopban pedig a lényeg:
client = server.available();
if (client.available()) { // if there's bytes to read from the client,
char c = client.read();Természetesen még jönnek hozzá a sallangok, például, hogy vége akkor van, ha két cr/lf jön egymásután.
client.println(protocolHeader);
client.println(httpHeader);
client.print(body01);A végén:
client.stop();Ezt így alapszinten használom. Ha valamelyik kész httpserver kezelőt használod, az egyszerűbb, de nekem ez kényelmes, és rugalmas.
Olyasmi, mint a PHP, hogy írod azt, amit a WEB lapodra akarsz tenni.Aztán ott van az OS, a freeRTOS, amire sokan mondják, hogy igazából nem is OS, mert pl. nincsenek benne userek.
Ezzel az esetek zömében nem kell foglalkozni, nem kell, hogy a user lássa.
Ha párhuzamosan akarsz taskokat futtatni, akkor vagy a szabványos C++ módon teszed, és az OS eldönti, melyik magra teszi:thread szal1(helloWorld1);
thread szal2(helloWorld2);
szal1.join();
szal2.join();A join akkor kell, ha be kell várni az adott szál befejezését,
vagy kreálsz neki külön taskot, például:
xTaskCreate(
readTempr,
"homersekletOlvas",
5000,
NULL,
6,
&homeroTaskHandle
);Én ezzel például olvasom a hőmérsékleteket mindentől függetlenül a "readTempr" függvénnyel, és belerakom globális változókba, ezért nincs szükség paraméterekre, azaz NULL nullpointer. Itt szokott egy kis gubanc lenni annak, aki először használja, mert ide a paraméterekre (pl töm, struktúra) mutató pointert írunk, de az xTaskCreate void típusú pointert kér, ezért kényszerítéssel voidosítani kell, majd a függvényben ismét kényszeríteni az adott típusra. Ha el akarod dönteni, hogy melyik magra tedd, akkor azt is megadhatod. Én például szeretem az ilyen mellékes dolgokat a 0-ás magra tenni, mert ott fut magas prioritással a WiFi kezelés, az üresjáratokban pedig az én "mellékes" függvényeim, egymástól függetlenül. Például amit az előbb írtam, abban végtelen ciklus van. Beolvassa a hőmérsékleteket, beleteszi globális változóba, vár egy időt, majd újra olvas. Ilyen esetben a wait az nem tényleges várakozás, hanem a többi tasknak adja át a vezérlést. Mivel a hőmérsékletek byte-ban vannak, nem kell semmiféle zárás, hogy ne akkor olvasson az egyik, amikor már az adatok felét átírta a másik, és akkor hülyeséget kapjon, de ha több byte-os az adat, akkor kizárás szükséges..
Aztán célszerű a rengeteg hardver perifériát kipróbálni.
Új hozzászólás Aktív témák
- Witcher topik
- Azonnali alaplapos kérdések órája
- Gaming notebook topik
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Temu
- Kormányok / autós szimulátorok topikja
- Battlefield 6
- Linux kezdőknek
- Kinéztél egy RTX 5060 Ti-t? Lehet jobb, ha lecsapsz rá!
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- HIBÁTLAN iPhone 14 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3528, 93% Akkumulátor
- REFURBISHED - Lenovo ThinkPad 40AC Thunderbolt 3 Dock
- BESZÁMÍTÁS! ASRock B450 R5 5600X 16GB DDR4 512GB SSD RTX 3060 12GB Zalman Z1 Plus Cooler Master 750W
- BESZÁMÍTÁS! LENOVO Ideapad Gaming 3 notebook - R5 5600H 16GB DDR4 256GB +1TB SSD nVidia GTX 1650 4GB
- BESZÁMÍTÁS! Acer KG241QSbiip 24 165Hz TN FHD 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold
