helló!
Soros porton beirt long értéket hogyan lehet leggyorsabban elküldeni digitális lábra (arduino uno)?
Mert ez elég lassú megoldás "Serial.parseInt();" !
Beolvasod 1 char tömbbe bilentyüzetröl a szöveges adatot, majt átkonvertálod az atol() fügvényel.
Idézet a fentebb linkelt könyvből:
B5. Kiegészítő rendszerfüggvények: az <stdlib.h> header
Az <stdlib.h> standard headerben vannak deklarálva a számkonverziós, tárkezelő és más hasonló, általános jellegű függvények. Az egyes függvények leírása:
double atof(const char *s)
Az atof függvény az s karaktersorozat tartalmát double típusú számmá alakítja. A függvény egyenértékű az strtod(s, (char**)NULL, 10) függvénnyel.
int atoi(const char *s)
Az atoi függvény az s karaktersorozat tartalmát int típusú számmá alakítja. A függvény egyenértékű az (int)strtol(s, (char**)NULL, 10) függvénnyel.
long atol(const char *s)
Az atol függvény az s karaktersorozat tartalmát long típusú számmá alakítja. A függvény egyenértékű az strtol(s, (char**)NULL, 10) függvénnyel.
/*
SerialEvent occurs whenever a new data comes in the
hardware serial RX. This routine is run between each
time loop() runs, so using delay inside loop can delay
response. Multiple bytes of data may be available.
*/
void serialEvent()
...
Még a Serial.begin(9600); veheted magasabbra, sokat javít a sebességen.
Csak a PC monitor felöl stringet kapsz, mikor beírod a számot és nyosz entert!
Ezt a stringet venni kel előbb, aztán átalakítani long-ra, és azt tovább küldeni.
Viszont ha nem túl hosszúak a soros kábelek?
A baudot felvehetem mximumra is 250000! Ez egyszerübb eredményt hoz!
#include <RCSwitch.h>
long addr;
RCSwitch mySwitch = RCSwitch();
// ide rakjuk:
long stringToLong(String s)
{
char addr[12];
s.toCharArray(addr, sizeof(addr));
return atol(addr);
}
void setup() {
Serial.begin(115200);
...
Sajnos ez csak a legnagyobb hiba, a programodban!
A másik hiba, hogy még azt sem olvasod el, amit kiragadok 1 nagy könyvből, mivel fontos:
B5. Kiegészítő rendszerfüggvények: az <stdlib.h> header Az <stdlib.h> standard headerben vannak deklarálva a számkonverziós, tárkezelő és más hasonló, általános jellegű függvények. Az egyes függvények leírása:
Pedig illene elolvasni az egész könyvet! Ha programozni szeretnél?
Hamarabb tanulok minta példál alpján amit bármilyen nyelvi könyvböl edig meg tutam volna érteni szakifejezések miatt ami egyszerüen nem értem meg!
Arduino cc vagy google keresem a minta példákat ugy 50% van rá hogy sikerül Spanyol viasz feltalálni mégegyszer már nem kell....
Nagyon összetet dolgogba nemmegyek bele ugy sem mert reménytelen nekem elég a mezei logikai fügvényel programozás böven ki szolgálja a feltételeimet nekem a nagyon bonyolultab rész az adat feldolgozása pl mind a fenti konvertálás!
Eddig ok!
Én is ezt szoktam javasolni, a gyakorlás jobban meg marad az emberben, mint a száraz elmélet.
Viszont ha a könyveket ennyire megveted?
Akkor azt sosem tudod meg, hogy miért kel megkeresned, hogy valamely használni kívánt függvény hol van deklarálva?
És még mindig nem tudod, hogy ha használni akarod a ’atol(addr) ’ függvényt, akkor miért kell betenni a programodba: #include <stdlib.h> sort!
Az össze ollózgatásnak is csak akkor van eredménye, ha ismered az alapokat!
Jó könyvek az ritka amit öröm olvasni vagy nyüglödés követni megérteni....
De lehet a logikai füg azért könyü mert elettronika már régota csinálom de lehetöségel helyetesitem és itt lehet a határa számomra a programozási szintel...
Megélni nem fogok belöle pár projekt össze jön saját részre az nekem elég és ennyi is az igényem!
De valoszinü hogy erre a feladatra több idöt nem szánok nincs értelme nem vagyok nagy matekos eredményt nem hozot kutatás sem ...
Szeretném megkérni a nagyérdemű közönséget!
Hogy lehetőleg az eredeti témához illő, hozzászólásokat tegyék meg itt!
Más témában nyissanak maguknak új topikot!
Mert az ilyen laikus kérdezők, szétforgácsolják az eredeti témát!
És a Moderátort meg kérném, hogy az első 3 hsz. kivételével, a többit rakja át valami hozzá illő helyre!
Mert szeretném a program fejlesztés témát folyamatosan folytatni.
A nem ér ennyit - az számomra két dolgot jelent:
- nem akarok időt sem áldozni rá, mert van más/kész/jobb megoldás
- "sültgalamb"
- alapokat sem tanulom meg : Z generáció error: "azonnal ide nekem, mert megérdemlem, de semmit nem teszek érte...."