Skocz do zawartości

Dlaczego nie działa ten prosty kod na arduino leonardo


xmen293

Pomocna odpowiedź

Kod jest wklejony cały na obrazku. Pierwszej linijki której nie widać to komentarz i ostatniej linijki którą widać do połowy to zamknięcie funkcji loop. Więcej kodu nie ma. Zaczynam przygodę z Arduino a programowanie studiowałem 5 lat wiec mnie to bardzo dziwi o co chodzi.

Link do komentarza
Share on other sites

Nadepnąłęś na znaną przypadłość toolchaina Arduino. W zależności od wersji program ld czasem oddaje kod błędu bez uzasadnionych przyczyn w kodzie i (chyba) bez oczywistego związku z treścią programu. Poczytaj o tym pytając o "arduino ld returned error". U mnie też się to czasem zdarza i za pierwszym razem straciłem trochę czasu. Teraz zmieniam kod usuwając lub dopisując jakąś jedną linijkę i najczęściej zaczyna działać. Na szczęście nie muszę tego środowiska często używać..

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Gratuluję studiów, ale to niestety nie pomaga. Po pierwsze, z obrazka dość ciężko jest skopiować kod, żeby móc go sprawdzić u siebie i zobaczyć szczegółowy komunikat o błędzie, którego na obrazku też nie widać. Po drugie, skąd mamy wiedzieć czy to, czego nie widać na obrazku nie jest właśnie przyczyną błędu? Jak chcesz żeby ci pomóc, to daj nam szansę, a nie każ bawić się w zgadywanki. Odrobinę szacunku dla cudzego czasu.

Z tego, co widać na obrazku, to masz błąd linkera, czyli prawdopodobnie kompilator nie mógł znaleźć jakiejś nazwy, do której się odwołujesz. Dlaczego nie może znaleźć -- możemy sobie z fusów wróżyć.

Link do komentarza
Share on other sites

// the setup function runs once when you press reset or power the board
int val = 0;
void setup() {
 // initialize digital pin 13 as an output.
 pinMode(13, OUTPUT);
 pinMode(2, INPUT);

 Serial.begin(9600);
 }

void loop() {
 if(val == 0)
 {
   Serial.println("Wykryto ruch");
 }
 digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(1000);              // wait for a second
 digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
 delay(1000);              // wait for a second
}
Link do komentarza
Share on other sites

Sketch uses 2,430 bytes (7%) of program storage space. Maximum is 30,720 bytes.
Global variables use 198 bytes (9%) of dynamic memory, leaving 1,850 bytes for local variables. Maximum is 2,048 bytes.

Czyli kod jest OK, sprawdź swoją instalację IDE.

[ Dodano: 20-12-2015, 13:47 ]

Tak mi przyszło do głowy -- na pewno masz wybraną właściwą płytkę itd. w menu?

Link do komentarza
Share on other sites

Płytkę mam dobrą ustawioną. Wydaje mi się że jest to kwestia systemu operacyjnego lub samej czujki ruchu. Dotychczas pracowałem na win xp, po zmianie komputera na wyższym systemie ten sam kod ruszył bez problemu. Dziwny jest dla mnie też fakt że rzeczywiście np na win xp po dopisaniu jakiegoś nieznaczącego wiersza za którymś razem udaje się to skompilować i wgrać. Dziwna przypadłość.

Możliwe że mam podłączoną tą czujkę i ona powoduje takie dziwne rzeczy. Próbuję jakoś sprawdzić czy ta czujka rzeczywiście działa prawidłowo bo coś mi się wydaje że przysłano mi ją uszkodzoną.

Dziękuję za pomoc.

Link do komentarza
Share on other sites

Zapewniam, że czujka, jak i cała reszta podłączonej elektroniki, nie mają absolutnie żadnego wpływu na proces kompilacji. Możesz całość odłączyć, kliknąć "verify" i skompiluje się dokładnie tak samo.

Ja próbowałem na Arduino IDE 1.6.7 na Ubuntu, nie spotkałem nigdy takich problemów, więc chyba rzeczywiście stawiałbym na bug w windowsowej wersji IDE.

Link do komentarza
Share on other sites

Sprawdziłem powyższy kod na Win 8.1 i wszystko zrobiło się poprawnie. Wersja IDE to 1.6.6 (robiłem to nawet bez podłączonej płytki)

Proponował bym odinstalować i zainstalować IDE na nowo.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.