- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Google Pixel topik
- Milyen okostelefont vegyek?
- Milyen hagyományos (nem okos-) telefont vegyek?
- Xiaomi 14T Pro - teljes a család?
- Pixel készülékeket hozhat a Google és a Vodafone együttműködése
- Apple iPhone 16 Pro - rutinvizsga
- Motorola Edge 50 Ultra - szépen kifaragták
-
Mobilarena
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
-
válasz
Janos250 #17391 üzenetére
Elképesztő bosszantó a facebook hozzáállása ehhez.
Egyszer vettem a fáradságot, és felgöngyölítettem egy komplett csalásra specializálódott csapatot. Úgy kezdődött, hogy az arcomba tolt a fb egy hirdetést, ami kamu volt, de mégis sokan írták alatta, hogy "Szuper ajánlat, épp egy hete használom" stb. Ellenőriztem a profilokat, és egyértelműen látszott, hogy erre a célra létrehozott profilok. Vagy 10-15 darab. Internetről származó profilképek, kommentek 8-10 nyelven itt-ott, teljesen belterjes ismerettségi kör. Az aktivitásukat visszatrackelve találtam még 4 hasonlóan csaló hirdetést, amiken keresztül találtam még 30-40 darab kamuprofilt.
Mindet jelentettem a facebook felé, és 0, azaz 0 db profilt töröltek. A hirdetések is sokáig fent voltak, valószínűleg nem a fb vette le őket.
Egyszer már komponáltam egy bejelentést az NMHH-nak, de végül elengedtem.
-
vargalex
félisten
válasz
Janos250 #17385 üzenetére
Az jogos is lenne, de ez a forráskód részlet:
String htmlstring = htmlHeader ; // csak Arduino String (nagybetus) jo, string (C++ kisbetus string) nem!
htmlstring += "<body>" ;
htmlstring += "\n Hello, World!\n <br>\n" ;
htmlstring += " ide jonnek a feldat szerinti dolgok\n <br>\n" ;
//egy minta: https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
htmlstring += "</body>\n</html>" ;
semmivel nem tagoltabb, mint ez:
String htmlstring = htmlHeader ; // csak Arduino String (nagybetus) jo, string (C++ kisbetus string) nem!
htmlstring += "<body>" ;
htmlstring += "Hello, World!<br>" ;
htmlstring += " ide jonnek a feldat szerinti dolgok<br>" ;
//egy minta: https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
htmlstring += "</body></html>" ;
-
dzz
aktív tag
válasz
Janos250 #17355 üzenetére
Köszönöm, ezt majd kipróbálom, bár nem tervezek webszervert használni, inkább kliensként csatlakozni egy webszerverhez vagy sql szerverhez. Illetve esetleg egy másik módban, talán amikor az egység nincs mozgásban, oda akár wifin keresztül is jó lehet... ezt még át kell gondolnom.
-
dzz
aktív tag
válasz
Janos250 #17351 üzenetére
Mindkettő jó lehet, illetve mind a kettővel futok pár kört még
Arduinoval elég sok dolgot megoldottam már, de GUI-t QT4-el (annó) más volt programozni
Amit most szeretnék az teljesen más lesz/lehet. A hw ami itt van előttem, az adott, ezt szeretném mindenek előtt megismerni, konkrét célom van vele. Mobilneten szeretnék pozícióadatokat küldeni a saját szerveremre, erre van kitalálva. A SIM7000-et AT parancsokkal lehet késztetésre bírni, amint ezek eredménye megvan, van ideje a procinak mással is foglalkozni. Ha eddig eljutok, akkor esetleg még egy CAN buszos olvasást is megpróbálnék. A WiFi szerintem sosem lesz használva ebben a projektben, a ble talán egy soros konzolként, hogy ne kelljen a motorháztetőt se felnyitni ha amúgy működik a készülék. Ezek jó lenne ha mennének multiban, szóval a freertos gondolom kelleni fog. Hogy mindezt az arduinoban vagy az idf-ben lehet kényelmesebben megoldani, azt még nem tudom, ezért kell ismerkednem mind a kettővel. Az eddigi pc-s ismereteimben nem kellett a multitaskkal foglalkoznom, az arduinoban meg még annyira sem.
-
dzz
aktív tag
válasz
Janos250 #17346 üzenetére
Az elejét nem igazán értettem, mármint a WiFi részt.
A micropythont kipróbáltam közben, valamiért nem érzem, hogy átütő lenne, csak az egyik magon fut - legalábbis eddig amit hirtelen elolvastam róla. Nem rossz, hogy azonnal ki lehet próbálni a python kódot, de hogy a multitask hogyan használható az rövid olvasás után nem egészen tiszta számomra.
A FreeRTOS -ha jól értelmezem- mindenképpen fut és erre kerül a program ami vagy használja a képességeit vagy nem, attól függően, hogy a megírt program mit használ. Remélem jól tévedek(Ez az OS nem OS dolog fura, a mai világ szülötteinek valódi fogalma sincs az OS definíciójáról. Az OS feladatait fel se tudja sorolni az aki a grafikus-csilli-villi rendszerekbe született
. Az OS nem attól OS, hogy felhasználókezelés van benne, hanem ellátja az operációs rendszerfeladatokat, hogy ne kelljen még azt is megírni -> ergo, ezen nem akadok fenn
). Van esetleg valahol valami könnyen emészthető gyorstalpaló a FreeRTOS-hez?
-
Tomika86
senior tag
válasz
Janos250 #17298 üzenetére
Külföldi fórumban azt olvastam, hogy felesleges mert a hardware serial ezt megszakításként kezeli.
Serial2.available() ez mikor igaz? Mert nekem csak akkor kellene ebbe az első if feltételbe lépni, ha adatot kapok soros porton.ui. azt olvasom, hogy az érkező karakterek számával tér vissza a Serial2.available() függvény. akkor jó ez így nekem végülis
-
válasz
Janos250 #17242 üzenetére
Mint múltkor is említettem, direktben szerintem sehogy, de ha szeretsz hekkelni, ha eléred ezt a függvényt, akkor bináris kereséssel ki tudod deríteni, mi az utolsó index, ami nem NULL-t ad vissza.
const vfs_entry_t *get_vfs_for_index(int index)
{
if (index < 0 || index >= s_vfs_count) {
return NULL;
} else {
return s_vfs[index];
}
}A components\vfs\private_include\esp_vfs_private.h-t kell include-olni.
-
Tomika86
senior tag
válasz
Janos250 #17222 üzenetére
A többi is függvényként van a végén a programnak, az összes nextion parancs.
A loopon belül csak meghívom a függvényt, ami te írtál az az egy darab parancs van a setup blokk végén, elötte van delay(csak itt), azért írtam azt is függvényként, mert az össze többi úgy van.Nem a leírásoddal van baj, hanem ha csak egy függvény hívást használok, az nem hajtódik végre. Minden hiba nélkül lefordul és rátöltődik az esp32re.
Innét tudom:
-Áram alatt van a kijelző és az esp32.
-Kijelzőben átlépek egy másik oldalra.
-rátöltöm a programot
-nyomok esp32re egy resetet
Itt függvény híással nem lép át a 0 képernyőre.
Függvény hívás nélkül, a te 1 soroddal beírva átvált a kezdő képre(page 0).Setup blokk
Loop blokkFüggvények
Függvény prototípus nincs!
-
Tankblock
aktív tag
válasz
Janos250 #17208 üzenetére
char endData[] = {0xFF,0xFF,0xFF};
ez akár még működhet is....using namespace std;
template < typename Type > std::string to_str (const Type & t)
{
std::ostringstream os;
os << t;
return os.str ();
}
csakhogy meglegyen a fvnyek:
(CODE)void initNextion() {
const uart_config_t uart_config = {
.baud_rate = 115200,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE
};
uart_param_config(nUART, &uart_config);
uart_set_pin(nUART, TXD_PIN, RXD_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
// We won't use a buffer for sending data.
uart_driver_install(nUART, RX_BUF_SIZE * 2, 0, 0, NULL, 0);
}
int sendData(const char* logName, const char* data)
{
const int len = strlen(data);
const int txBytes = uart_write_bytes(nUART, data, len);
ESP_LOGI(logName, "Wrote %d bytes\n", txBytes);
ESP_LOGI(logName, "#%s#\n", data);
return txBytes;
}(/CODE)
string store ="";
store += "page2.valami.val=";
store += (x.sData=="ON") ?"1":"0";
store += endData;
sendData(TX_TASK_TAG, store.c_str());ezt használtam home projectben, működik
-
vegyszer
addikt
-
-
Janos250
őstag
válasz
Janos250 #17109 üzenetére
A
return szumma[csatorna]/mintakSzama ;
helyett
return szumma[csatorna]/analogErtekek[csatorna].size() ;
írandó, akkor az eleje is jó.
i= 1000 atlagertek = 1000
i= 1100 atlagertek = 1050
i= 1200 atlagertek = 1100
i= 1300 atlagertek = 1200
i= 1400 atlagertek = 1300
i= 1500 atlagertek = 1400
i= 1600 atlagertek = 1500
i= 1700 atlagertek = 1600
i= 1800 atlagertek = 1700
i= 1900 atlagertek = 1800 -
Tomika86
senior tag
válasz
Janos250 #17067 üzenetére
Bővítetted amióta elküldted?
Van például 6darab analóg bemeneten beolvasott érték, mindegyiket mozgóátlaggal "szűrném". Ezt egy darab paraméteres visszatérési értékű függvénnyel nem tudom megcsinálni, ha jól gondolom, mert a bemenetek "összemosódnak".
Mind a 6bemenethez külön függvény kellene.Ezt oldja meg az osztály?
hogy akkor így lesz:
adc0.avg(be1)
adc1.avg(be2)
.
.
adc5.avg(be6)
így egy osztállyal megoldható mind a 6?
Köszi! -
-
-
Ton-ton
tag
válasz
Janos250 #17022 üzenetére
Elvben grafikus programokhoz (inkább ablakosnak nevezném) találta ki a Microsoft.
Tehát hogy összekattintgass egy grafikus felületet...
S persze kizárólag az ő rendszerükön futott...
Így ha írtál egy jó kis programot, azt csak win-re tudtad fordítani, ezzel növelve a felhasználók számát, ami ugye nekik bevétel...Azóta előfordulhat, hogy kiadták más rendszerekre is, vagy mások megírták, nem követtem figyelemmel...
-
Ton-ton
tag
válasz
Janos250 #17014 üzenetére
A tálca benn marad. Egyik oldalról a robotkar tud dolgozni, a másik oldalról lehet cserélni a tálcát.
Mondjuk a tálcák elkészítésén még agyalok...
Elsőre 3D nyomtatásban gondolkodtam. Azonban ABS-ből kellene nyomtatni, azt pedig az olcsó nyomtató nem kedveli...
Így kinyomtatom sima PLA-ból. Majd ha jó a méret, akkor erről veszek pár szilikon formát, és kiöntöm műgyantából (némi üvegszál erősítéssel). Kb. 20%-al drágább, de biztosan elbírja a terhelést, és egyszerre készülhet 4-5 darab...Sajnos az y vezérlés és kar forgatása nem jó. Nehézkessé teszi a szerkezetet... (Nehéz a keret amit emelni kell, tehát lassú)
Marad a scara...
Ennek a vezérlése sem vészes. Egy lapon max 1200 alkatrész van. Összesen úgy 10-15 alkatrészféleség van. Ennyit kézzel is le lehet "programozni". S mivel nem tudtam kiszámolgatni mekkora szögelfordulásra van szükség, írtam egy kis php scriptet. Ez csak annyit csinált, hogy kiszámolta adott szögelfordulásra (szög elfordulásnak a léptetőmotor szögelfordulásának egész számú hányadosát adtam meg) adott kar hosszal a kar végét.
Egy képre oda tett egy pöttyöt, majd ment tovább...
Lefutott 1,5 perc alatt. Kb. 10 próbáljozásból meglett a karok hossza, és hogy mennyivel kell leosztanom a léptetőmotort. :)
Az alkatrészek középpontját megadva, szerintem meg is lesz a szükséges "adatbázis"...
(Ok, megoldja a gép 1-2 perc alatt, de legalább fél nap míg megírom... :) ) -
Ton-ton
tag
válasz
Janos250 #17011 üzenetére
Nos csupán reménykedhetem, hogy más nem fedezi fel...
Picit félreértettél. A legfontosabb a korrekt működés, s persze a gép költsége sem mellékes.
Egy csavarbehajtónál is a megbízhatóság, és hogy kézreálljon a lényeges szempont. Hogy az szürke, narancs, vagy fekete színű, egyáltalán nem foglalkoztat. (Mondjuk kb. 8 éve negyedáron adtak rózsaszín Makita csavarbehajtót, azt már azért kihagytam... :D )
Itt sem lényeges, hogy tetszen.Igen, az y vezérlés egyszerűbb. Gondolkodtam ma ezen.
Azonban picit módosítanom kell, mivel nem áll rendelkezésemre egy üzemcsarnok ehhez... :)
Tehát egy polc szélességű kar, amit 180 fokkal el tudok forgatni. Így relatív rövid a kar, és egyszerű marad a vezérlés is. Ami mindenképp mellette szól, hogy alacsonyabb mint a xsara kar (függőlegesen közelebb lehetnek a "polcok", ami kezelés szempontjából lényeges.)
Bár még más megoldást sem vetettem el teljesen...
Tehát kísérleteznem is kell... -
vegyszer
addikt
válasz
Janos250 #16988 üzenetére
Én most egy egyszerű projekthez vettem két M5Stack M5StickC PLUS - t a banggood oldalán 20$ volt darabja. De 4 hét alatt se adták még fel.
Az egyikből Canon EOS M50 fényképezőgép mellett lesz távirányító (intervalometer). Mert a kis kínai kispórolta a megszokott 2.5mm-es jack dugót, csak Bluetooth/Wi-Fi irányítása van.
Szerencsére van rá komplett megoldás, csak rá kell töltenem. BR-M5: An open-source Bluetooth Remote for Canon DSLRs -
vegyszer
addikt
válasz
Janos250 #17007 üzenetére
Én ezt a koordináta transzformációt Descartes koordinátákból belső koordinátákra molekulák számolása esetén követtem el, majd 20 éve. De rég is volt...
Egy ezer karakteres feladványomon a PC-m egy hétig csámcsogott. És bosszúból 5 TXT fájlban negyed gigabyte adattal válaszolt. -
Ton-ton
tag
válasz
Janos250 #16999 üzenetére
Köszönöm.
Még gondolkodom rajta. (Gép méreteit, kezelhetőségét, és hasonlókat is figyelembe kell venni.)
Így elsőre az a gond azzal amit írsz, hogy arra a lapra amire az alkatrészeket gyűjti elég hosszú úton jut el (a polc szélén lévő alkatrésszel sok ideig dolgozik). De még átgondolom. -
Ton-ton
tag
válasz
Janos250 #16975 üzenetére
A programom a Pi-n futna. Tehát a raspberry kártyáján lenne, s azon kell minden alkalommal az adatfájlt is újraírni, vagy csak mellé bemásolni.
Az arduinokon gyakorlatilag egy (szinte) gyári grbl értelmező lenne csupán.
Legalábbis ez az elképzelés.A compiler kérdés megoldódott, mert elkezdtem olvasni egy C++ tananyagot. :)
-
válasz
Janos250 #16985 üzenetére
Én stepper drivert kerestem, valamiért félrehordott a Google, én meg a buszon állva elnéztem.
Nyilván tudom, hogy stepper drivert keres, hiszen a RAMPS is az. Bár jobban meggondolva robot karokhoz inkább servo-t szokás használni 🤔
Ha nem elírás, akkor itt van ez a stepper driver HAT. -
Ton-ton
tag
válasz
Janos250 #16972 üzenetére
Köszönöm.
Igen, uno vagy mega a terv ramp 1.4 panellel és pár szinkron motorvezérlővel (van ahová nem elég egy motor).
Bár még az m545 sem kizárt.Úgy tudom usb-n keresztül a legegyszerűbb öszekapcsolni a raspberryt és az arduinot (nincs szintillesztés pl.) Mivel két kontrollel lesz így két usb minimum szükséges.
Mivel termelőeszköz, nem szeretnék semmiféle rádiót, s nem lesz netre sem kapcsolva (legalábbis ez a terv).
Az usb madzag nem törik meg, mert egy dobozban lesznek. Jó nagy dobozban (LED mátrix vezérlés, tápegységek, később ups, stb)Megnézem a C++ -t.
Esetleg tudnál compilert javasolni? (Bodhi 5.1 van a gépen)
Mondjuk megnézem a raspbiant is... -
tonermagus
aktív tag
válasz
Janos250 #16926 üzenetére
Én sajna csak IRLZ44NPBF-t találtam, ez is megfelel nekem?
-
JozsBiker
aktív tag
válasz
Janos250 #16889 üzenetére
Köszi szépen mindkettőtöknek, ez működik is szépen. A fenti kód azért tetszett volna ha működött volna, mert nem szükséges hozzá SSID, így kitágította volna a lehetőségeket :-). Én ennyire nem vagyok mélyén a programozásnak ezért megkérdezem: ki lehet valahogy javítani az általam hivatkozott kódot hogy rendesen működjön ( ne reseteljen folyton ) ?
-
gyapo11
őstag
válasz
Janos250 #16813 üzenetére
Jaja, itt is jó a teleírás, bár a page write nem tudom hogy szól ebbe bele, de parciális írást is emleget az adatlap. Szukcesszív approximációval nagyon gyorsan meg lehet találni a szabad hely kezdetét.
És 1 M írásciklus. Még azzal is lehet rövidíteni a kiírandót, hogy minden olyan percben, ami nem egész óra csak a percet írnám ki meg ehhez egy jelzőbitet, amiből lehet tudni, hogy az óra változatlan. Aztán a hatvanadiknál megint kiírnám az órát is. Végig kell gondolni, hogy az órák az elején többet foglalnak mint a percek, a végén viszont a percek foglalnak többet.
Vagy 17408 óráig el lehet számolni úgy, hogy egy byte-ot inkrementálni minden percben, 255 perc után a következő byte-ot kezdeni. Áramszünet után megkeresni az eddig használt byte-okat, egy szorzással megvan a percek száma. Használat előtt 00-át kell írni minden byte-ba, minden használt byte-ban van legalább egy 1-es. Ha a 0-zással 256 írás egy kör, akkor 3906 kört bír a chip, ami 68 millió óra, csak valahova föl kell írni a körök számát is. -
Dißnäëß
nagyúr
válasz
Janos250 #16770 üzenetére
Köszi !
Szép lassan száll el minden ára. Először csak elektronika, aztán a többi, mert nem csak chiphiány van, hanem energiahiány is, áram, gáz, ami mindenre kihat.Lehet most kéne betárazni egy zsák ESP-t, egy marék Pi4-et, pár marék ellenállást, relét, kondit, szenzorokat, betolni egy kisebb szemmel látható összeget a dologba, aztán ha jön a Mad Max, csöndben elbütykölni otthon és automatizálni a medence töltést-ürítést, az esővízgyűjtő ciszternából a padláson lévő tartályba felpumpálást, meg a teljes üvegház öntözést, fűtést, minden fiszfaszt.
Na jó, bilibe lóg a kis kacsóm..
-
-
-
-
-
-
-
válasz
Janos250 #16737 üzenetére
Én úgy gondolom, hogy azért bukik meg a validáción, mert maga az .ino fájl plain-text dokumentumként nem szerepel egyik webes szabványban sem.
Emiatt - még ha valószínűleg a nagyobb böngészők ismerik is - nem következetes az, hogy minden eszközön/böngészőben ugyanúgy jelenik meg, vagy ugyanazt a hatást indukálja.
-
Dißnäëß
nagyúr
válasz
Janos250 #16688 üzenetére
Természetesen a /* clock=*/ 14, /* data=*/ 12, bármelyiket használod is, mindenképpen bekötendő akkor is, ha a konstruktorban nem adod meg, hanem defaultként kezeli.
Aaaa kezdem kapizsgálni. Vélhetően default-ol a kikommentelt sorom clock-ra és data-ra a zöldekkel jelölt portokat illetően ? (Tegyük fel, rápróbálok a jobboldali zöldekre, akkor
clock = HSCLK, azaz GPIO14
data = HMOSI, azaz GPIO 13).Ettől függetlenül még CS-t megadhatom neki (kéri is a sor), HCS = GPIO 15-re.
A konstruktorban a dc és a reset hova lennének köthetők ezen ?
-
-
Tankblock
aktív tag
válasz
Janos250 #16639 üzenetére
Szia,
Arra próbáltam reflektálni, hogy kezdőnek csak óvatosan az ajánlásokkal, mert általa nem vagy csak nehezen feloldható problémák jöhetnek elő. A Design Pattern meg azért szükséges, mert adott problémára nyújt működő megoldást.
Aztán ha megy a C,C++, ... bármilyen programnyelvben is akkor lehet mélyre ásni. Tanulási görbe mellett fontos a sikerélmény is.
Én mondjuk a Micro Phytonnal vagyok úgy hogy életidegen feláldozni egy csomó erőforrást egy interpreterre, de ki tudja merre megyünk.
Lassan FPGA is olyan olcsó lesz h csak na és abban meg mindent is lehet csinálni még Linuxot futtató ARM magokat is lehet szimulálni. -
válasz
Janos250 #16639 üzenetére
Ne becsüljük alá annak a jelentőségét, hogy nagyon sokszor azért használnak egyszerűbb processzort, mert egyszerűbb-> megbízhatóbb. Nem ok nélkül használtak például még a 90-es évek végén is Intel 8086-os CPU-kat az NASA űrsiklóiban: a lassabb órajel, a nagyobb csíkszélesség jobban tűrte a szélsőséges körülményeket, kiröhögte az űrbéli háttérsugárzást.
Én ha egy feladatot meg tudok oldani AVR-rel, nem fogok ESP-t használni, ha nincs szükségem a nagyobb tudásra. Miért? Mert régebbi, kipróbált technika, jobban tűri a hibákat (például: ESP-n lévő flash chip 3,6V tápfeszültségen megfő, egy AVR 7-8V-ot simán kiröhög). -
Tankblock
aktív tag
válasz
Janos250 #16637 üzenetére
Szia,
Ha már Thread és kezelés, ESP32 -n ott a FreeRTOS, az legalább threadsafe módon tud megszakításból is adatokat kezelni, van benne MUTEX, miegymás....
Ha nem vagy jártas Design Patternekben a sokszálazáskor random fogsz találkozni a az ugynevezett Deadlock jelenséggel, ami kezdőnek megtalálni nem triviális. Azt nem mondom egy szóval sem hogy a FreeRTOS nem lehet ilyet csinálni, mert lehet, de a dokumentációjában nagyban segít benne.
AVR ekben nagyszerűen van hardwaresen a PWM megoldva. A Mega az egy 2560 as (még ANSI Cből vagy Assemblyből is
)... [link]
Volt alkalmam könyékig turkálni pár kódban, van amire nem használnak ESP-t csak bevált technológiát hiába régi. -
Tankblock
aktív tag
válasz
Janos250 #16613 üzenetére
[link] A Wiki is pont azt mondja hogy :
RTOS typically does not have the more advanced features that are typically found in operating systems like Linux and Microsoft Windows, such as device drivers, advanced memory management, user accounts. The emphasis is on compactness and speed of execution. FreeRTOS can be thought of as a thread library rather than an operating system, although command line interface and POSIX-like input/output (I/O) abstraction are available.
Ezért írtam inkább egy scheduler mint egy rendes operációs rendszer. Bare Metálba kell megírni hozzá egy csomó mindent, ami meg van annak meg örülni kell.
[link] pont arról beszél, hogy mikor éri meg milyen projectet építeni. 10 perc körül....
-
Tankblock
aktív tag
válasz
Janos250 #16611 üzenetére
Nem véletlenül a ESP32 Flash structúrájában hasznáét SPIFF et használod itt, mint háttértár?
Arduino alatt lehet hogy az is be van hozzá includálva.
Ahol minden egy file az UNIX alapú operációs rendszerek.
ESP32 FreeRTOS használ és az nem egy operációs rendszer sokkal inkább egy scheduler. -
Tankblock
aktív tag
válasz
Janos250 #16607 üzenetére
Szia
No problem, ismerem az érzést. Nem hiába szoktam a C++ referenciát betenni.
Nincs a standard C vel sem semmi probléma. Feladathoz választunk megoldást, és nem fordítva. Addig örülj amíg nem más által összerakott projectbe kell új featuret írnod, full nulla dokumentációval, kesze kusza arhitechtúra alatt....Amúgy a structos megoldást egyszer már megcsináltam demo szintjén, működik szépen, a hátránya a castolás overheadje.
Az összevissza könyvtárazást ar Arduino hozta el véleményem szerint. és mivel kényelmes elfejeltettek programozni, csak az jön hogy nem működik.... Igen ez egy szép szakma....
-
-
ekkold
Topikgazda
válasz
Janos250 #16600 üzenetére
Köszönöm! Kb ilyesmit találtam én is, a
va_arg
()-nak meg kell adni milyen típusú paramétert olvasson fel, és visszaadja az értékét. Tehát vagy meg kell adni, hogy hány paraméter van aktuálisan, vagy a legutolsó paraméternek kell pl .nullának, vagy mondjuk nullpointernek lenni, amiből a program tudhatja, hogy ez volt az utolsó paraméter. Azon gondolkoztam, hogy írok egy printf()-hez hasonlóan működő függvényt ami alfanumerikus LCD-re ír, de kevesebbet tud mint a printf (csak egész számot és c stringet kezelne), és cserébe sokkal kevesebb erőforrást fogyasztana mint a sprintf() + lcd-re írás. -
Tankblock
aktív tag
válasz
Janos250 #16604 üzenetére
Szia,
ezen példáidban pont hogy meghatározott számú lesz.... std library elemei a bemeneten....
Ha nem tudod hogy mennyi, akkor a (...) lesz használatos, de ugye ezzel csak annyi lesz hogy fordítási időben lesz meg.....Amit csinász az standard C ben is egy láncolt listára is mutathatna.... akár egy pointer is....
ennyi erővel struct ba tehetnél egy void * és egy type paramétert és ebből egy listát/vectort, na akkor már bármit beletehetsz. Utána típus castolással vissza tudod alakítani. Ebbe még függvény pointert is tehetsz....
-
Dißnäëß
nagyúr
válasz
Janos250 #16598 üzenetére
Köszi !!
Egy hőmérséklet szenzort próbálgatok, alábbi kóddal percenként tudom a konzolra kiiratni a hőmérsékletet:
#include <DS18B20.h>
DS18B20 ds(2);
void setup() {
Serial.begin(9600);
}
int n=0;
void loop() {
while (ds.selectNext()) {
Serial.print(n, DEC);
Serial.print(". perc: ");
Serial.println(ds.getTempC());
delay(60000);
n++;
}
}Mi a különbség print és printf között ? (println sortöréssel, ENTER-el megy, erre már rájöttem).
Új hozzászólás Aktív témák
Hirdetés
- BestBuy topik
- Bluetooth hangszórók
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- exHWSW - Értünk mindenhez IS
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Azonnali informatikai kérdések órája
- A fociról könnyedén, egy baráti társaságban
- Casco és kötelező gépjármű felelősségbiztosítás
- Milyen billentyűzetet vegyek?
- Medence topik
- További aktív témák...
- DJI Mini 3 Fly More Combo drón telefonos távirányítóval
- Core i7 9700 processzor - 6 hó garival
- Dell 24" 1920x1080 full HD - webkamerás konferencia monitor hangszóróval! - gyári garancia 2028ig
- Dell Latitude 5590, 15,6" FULL HD IPS, I5-8350U CPU, 16GB DDR4, 256GB NVMe SSD, WIN 11 ÚJ AKKU
- Dell 27" UltraSharp U2713HM QHD 2560x1440 IPS DP/DVI/HDMI/VGA monitor - PIVOT is - több db
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Beszámítás! Apple iPad 11 2025 128GB WiFi tablet garanciával hibátlan működéssel
- Tablet felvásárlás!! Samsung Galaxy Tab A8, Samsung Galaxy Tab A9, Samsung Galaxy Tab S6 Lite
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 8GB I 256SSD I 13,3" HD I HDMI I Cam I W11 I Gari!
- BESZÁMÍTÁS! ASRock B550M R5 5600 16GB DDR4 512GB SSD RX 6600 XT 8GB Kolink Observatory LM RGB 600W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest