-
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
- Kiwiears Astral
- SZÉP! Dell Precision 7760 Tervező Vágó Laptop -70% 17,3" i7-11850H 32/512GB NVIDIA A3000 6GB FHD
- Xiaomi Electric Scooter 5 Max tökéletes hibátlan eladó
- 4K Gamer PC Ryzen 9 5900X/RX 6900 XT 16Gb/32Gb DDR4/1Tb NVME M2 SSD/850W Bronz 6hó Gar
- SZINTE ÚJ! MacBook Air M4 - 13 , 16 GB RAM, 512 GB SSD, Éjfekete + 4 év garancia + balesetbiztosítás
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3133, 95% Akkumulátor
- Dell Latitude 5320 - hibás kijelzők - i5 1135G7 ,16GB RAM, SSD, jó akku, számla
- BESZÁMÍTÁS! Acer Predator Helios 300 17 FHD notebook - i7 9750H 32GB DDR4 1TB SSD RTX 2060 6GB W11
- GYÖNYÖRŰ iPhone 12 mini 256GB Black-1 ÉV GARANCIA -Kártyafüggetlen, MS3626, 100% Akkumulátor
- BESZÁMÍTÁS! ASUS PRIME H510M i5 10400F 16GB DDR4 512GB SSD RX 6600 XT OC 8GB CHIEFTEC Libra 600W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest