void ciklus, amelyet további “ void ” kifejezések követnek

I remélem, hogy ez egy egyszerű kérés egy újonctól az Arduino és a programozás felé. Megértettem, hogy amint egy program belép egy void loop szakaszba, a végtelenségig köröz. Nemrégiben azonban láttam olyan vázlatokra példákat, ahol egy másik void $$$$$ szakasz követi az érvénytelen hurok lezárását (by}). Amikor ezt írom, egy példát vizsgálok egy 7 szegmenses kijelzővel kapcsolatban, ahol “void Num_Write (int)” követi az érvénytelen hurok bezárását. Ha a “hurok” szakasz éppen ezt teszi, amint azt már elhittem, hogyan érhető el egy következő szakasz?

Köszönöm, Rob

Hozzászólások

Válasz

A void loop() szakasz egy függvény, ugyanaz, mint a void setup() egy függvény. Amikor elindítja az Arduino programozását, használjon egy másik funkciót, amelyet “nem láthat az IDE-ben, hívja meg a setup() -t, majd hívja meg ismételten a loop() <. / p>

Ez a másik látott funkció, azaz a void Num_Write(int n) meghívható a setup() vagy a loop() és végrehajtják az utasításokat, mielőtt visszatérnek az őket meghívó függvényhez. Lehetséges, hogy a Num_Write() más funkciókat is meghívhat, mielőtt visszaadná a vezérlőt a hívott függvénynek.

A void típust a semmi ábrázolására használják (ez ennél bonyolultabb, de ehhez a magyarázati szinthez semmi sem fog tenni). adjon vissza például int, char, bool típusokat. Tehát, ha lenne egy függvényünk így:

int theMeaningOfLife(void) { return 42; } 

Ez egy olyan függvény, amely egy int ( umber), így hívhatnád így:

void setup() { int number = theMeaningOfLife(); } 

Egy fogás van, a függvényt használat előtt meg kell adni, ez lehetővé teszi a fordító számára, hogy tudja, mire utal. Ennek legegyszerűbb módja, ha a függvényt a hívó függvény fölé írja. A második módszer az, hogy csak a függvény aláírását írjuk a függvény fölé, azaz:

int theMeaningOfLife(void); void setup() { int number = theMeaningOfLife(); } 

A legjobb módszer (de Arduino-n nem mindig praktikus) ) az összes funkciódeklaráció egy fejlécfájlban (.h) és a kód egy .cpp fájlban van. (Nézzen meg egy könyvtárat, hogy mire gondolok).

Összegzés

Csak egy függvény van, amelyet többször is meghívnak, ez a loop függvény. Az, hogy egy függvény érvénytelen, nem azt jelenti, hogy ismételten ciklusba megy.

Megjegyzések

  • Ön ezt írta: „ a függvényt használat előtt meg kell adni ”. Valójában az Arduino IDE egy előfeldolgozási lépésben futtatja a kódot, amely ezt megteszi az Ön számára, vagyis nem kell magának tennie. Még mindig fontolóra venném, hogy ragaszkodom ehhez a szabályhoz, már csak azért is, mert ez az IDE-n kívül fordíthatóvá teszi a kódot, pl. egy Makefile alkalmazással.
  • @EdgarBonet – Köszönöm, ezt soha nem tudtam. Azt hiszem, mégis el kellene felejtenem, különben ' elkezdem kipróbálni a munkahelyemen, és végül kihúzom a hajam, és megpróbálom kideríteni, hogy miért nyert [div id = “950fa26d85 “>

t összeállítani. 🙂

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük