Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Márkaváltás sok-sok év után
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Mr Dini: Mindent a StreamSharkról!
- Magga: PLEX: multimédia az egész lakásban
- Autódiagnosztika: a gyakorlatban
- gban: Ingyen kellene, de tegnapra
- sh4d0w: Kalózkodás. Kalózkodás?
- sh4d0w: Árnyékos sarok
-
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
-
JulianSinulf
őstag
Sziasztok!
Akadt egy kis bajom a "if and or" használatával.
Itt a kódrészlet. Remélhetőleg az oldal megfelelően fogja kezelni:void step0_1mm()
{
heTest();
for (uint32_t i=0; i<2850; ++i)
{
vegallas_fent();
vegallas_lent();
if (v == 1)
{
if (((digitalRead(KAPCSOLO_VEGALLAS_FENT) == LOW) && (digitalRead(KAPCSOLO_FORGASIRANY) == HIGH)) || ((digitalRead(KAPCSOLO_VEGALLAS_LENT) == LOW) && (digitalRead(KAPCSOLO_FORGASIRANY) == LOW)))
{
break;
}
}
else
{
digitalWrite(STEP_PIN, !digitalRead(STEP_PIN));
delayMicroseconds(STEP_DURATION);
}
}
}A "v" int változó és a vegallas_fent és vegallas_lent részben kaphat 1-es értéket. Amúgy nullával indul.
A végállás részek majdnem ugyan úgy néznek ki, a különbség a figyelt kapcsolóban van.
A cél az lenne, ha valamelyik "és" feltétel teljesül, akkor álljon meg a ciklus, ha nem, akkor fusson tovább.
De nem így tesz.
Ha a forgásirány kapcsoló magas értéken van, akkor nem hajtja végre az "else" utáni részt, ellenben lefut a ciklus 2850-szer. Gondolom, nem számoltam meg, de a végállás részekben kiíratom, hogy aktív a kapcsoló és az jó sokszor ott van a soros monitoron.
Ha a forgásirány kapcsoló alacsony értéken van, akkor megáll a program.Próbálkoztam egy ilyennel is, de az eredmény változatlan:
void step0_1mm()
{
heTest();
for (uint32_t i=0; i<2850; ++i)
{
vegallas_fent();
vegallas_lent();
if (v == 1)
{
if (digitalRead(KAPCSOLO_VEGALLAS_FENT) == LOW && digitalRead(KAPCSOLO_FORGASIRANY) == HIGH)
{
break;
}
}
else
{
digitalWrite(STEP_PIN, !digitalRead(STEP_PIN));
delayMicroseconds(STEP_DURATION);
}
if (v == 1)
{
if (digitalRead(KAPCSOLO_VEGALLAS_LENT) == LOW && digitalRead(KAPCSOLO_FORGASIRANY) == LOW)
{
break;
}
}
else
{
digitalWrite(STEP_PIN, !digitalRead(STEP_PIN));
delayMicroseconds(STEP_DURATION);
}
}
}És azt sem értem, hogy először be van állítva a "v" nullára, majd amikor utána lefut a végállás rész (itt már 300 ms van a "v = 0" és végállás rész között), akkor a "v"-t át kell állítani 1-re (mert a kapcsoló érteke LOW) és ezzel együtt egy kimenetet magas állapotba kell tennie. Ezt nem teszi meg indulásnál.
Ha futtatom a "step" részt, akkor az a bizonyos kimenet magas állapotba kerül.Azért ide teszem a végállás részt is:
void vegallas_lent()
{
if (digitalRead(KAPCSOLO_VEGALLAS_LENT) == LOW)
{
v = 1;
digitalWrite(LED_VEGALLAS, HIGH);
Serial.println("Végálláskapcsoló lent aktív!");
}
else
{
v = 0;
digitalWrite(LED_VEGALLAS, LOW);
}
}
Új hozzászólás Aktív témák
- OpenMediaVault
- Autós kamerák
- Kamionok, fuvarozás, logisztika topik
- Szeged és környéke adok-veszek-beszélgetek
- Milyen okostelefont vegyek?
- Kerékpárosok, bringások ide!
- PlayStation 3
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Luck Dragon: Asszociációs játék. :)
- Senki sem töröl ennél jobban
- További aktív témák...
- Gigabyte GA-P35-DS4 LGA775 alaplap, Xeon X5450 CPU, 4 GB DDR2 RAM
- Meta Quest 3 (512 Gb) + Elite strap + 3m link kábel
- Hibátlan HP 250 G4 notebook (laptop) eladó
- BESZÁMÍTÁS! Sony PlayStation 5 Slim 1TB SSD lemezes konzol garanciával hibátlan működéssel
- Kihasználatlan PC - Ryzen 5 2600X GTX1660 Ti TUF B450 PRO Gaming 16 GB RAM stbstb
- Magyarország piacvezető szoftver webáruháza
- Eladó egy Clevo PA71HS-G i7 7700hq Gtx1070 Kérlek olvasd végig a hirdetést
- Apple MacBook Air 13.6" M2, 16GB/256GB (MC7W4MG/A) Csillagfény - 16 Ciklus - 100% akku - Garancia
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue 1ÉV GARANCIA -Kártyafüggetlen, MS3743, 100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! I7 12700E / RTX 3060Ti / 32GB DDR4 / 512GB Nvme SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold
