-
Fototrend
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!
Bajban vagyok egy kicsit a függvényekkel. Nem működnek.
Korábban már használtam őket, akkor nem volt gond.
Ahogy a neten olvastam, először a függvényeket kell megírni, majd utána jön a setup és loop rész.
Meg lehet a loop után is írni, de akkor a setup előtt függvény prototípust kell létrehozni.
Én megpróbáltam mind a két módszert, de egyik sem működött.
A setup-on belül lefut az egyik függvény, aminek le is kell futnia, de a loop-ban nem működnek.A kód egy része, mikor a függvény a setup előtt van:
void rovid_vissza()
{
void commTest();
stepper_driver.moveAtVelocity(-VELOCITY);
uint32_t interstep_duration = stepper_driver.getInterstepDuration();
Serial.println(interstep_duration);
delay(500);
stepper_driver.moveAtVelocity(0);
}
void commTest()
{
if (not stepper_driver.isSetupAndCommunicating())
{
Serial.println("Stepper driver not setup and communicating!");
return;
}
Serial.println("Stepper driver OK");
bool hardware_disabled = stepper_driver.hardwareDisabled();
TMC2209::Status status = stepper_driver.getStatus();
if (hardware_disabled)
{
Serial.println("Stepper driver is hardware disabled!");
}
else
Serial.println("Stepper driver is hardware enabled!");
}
void setup()
{
Serial.begin(SERIAL_BAUD_RATE);
stepper_driver.setup(serial_stream);
TMC2209::Settings settings = stepper_driver.getSettings();
stepper_driver.setRunCurrent(RUN_CURRENT_PERCENT);
stepper_driver.enableCoolStep();
stepper_driver.enable();
buff[0] = 0;
commTest();
}
void loop()
{
if(Serial.available())
{
char c = Serial.read();
if(c == '\n')
{
buff[p] = 0;
String str = String(buff);
if(str == "10") void hosszu();
if(str == "-10") void hosszu_vissza();
if(str == "1") void kozepes();
if(str == "-1") void kozepes_vissza();
if(str == ".1") void rovid();
if(str == "-.1") void rovid_vissza();
p=0;
buff[0] = 0;
}
else
{
buff[p] = c;
if(p<Length-1) p++;
}
}
}
A commTest a setup-ban lefut.
Ha a rövid_vissza részét beírom az "if" függvényhez egy az egyben, akkor működik, leszámítva, hogy a commTest már nem fut le.
A kód lényegében úgy működik, ha minden a megfelelő "if" függvénynél van, csak elegánsabb lenne, ha a loop-ban nem lenne annyi minden.Valaki tudna ötletet adni, hogy mit rontok el?
Új hozzászólás Aktív témák
- Okos Otthon / Smart Home
- Konzolokról KULTURÁLT módon
- Pánik a memóriapiacon
- BestBuy ruhás topik
- alza vélemények - tapasztalatok
- Bemutatkozott a Poco X7 és X7 Pro
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Project Motor Racing-Straight4 Studios
- Milyen videókártyát?
- Formula-1
- További aktív témák...
- BESZÁMÍTÁS! Apple Macbook Pro 16 2023 M3 Pro 36GB 512GB macbook garanciával hibátlan működéssel
- Proc. hibás DELL Latitude 3510 Black i3 256 SSD alkatrésznek eladó
- Huawei P40 Pro 5G 256 GB dual sim, félig hibás érintő
- Apple iPad 11 (A16) 128GB Wifi Silver 1ÉV Bontatlan
- Macbook Air M3 15" 16GB 256GB 100%
- BESZÁMÍTÁS! MSI B450 R7 5700X 32GB DDR4 512GB SSD RTX 3080 10GB Zalman Z1 Plus Cooler Master 750W
- HIBÁTLAN iPhone 12 mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3818, 100% Akksi
- GYÖNYÖRŰ iPhone 11 Pro 64GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3565, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3898, 100% Akkumulátor
- Bomba ár! Lenovo IdeaPad V130-14IGM - N4000 I 4GB I 128SSD I 14" FHD I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
