Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 26 lis 2024, o 10:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 8 lip 2016, o 20:12 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Witam.

Konfigurując po raz pierwszy środowisko Eclipse zauważyłem, że istnieje możliwość wyboru programatora, który poradzi sobie z bootloaderem Arduino.

Obrazek


Wyklepałem więc w Eclipse kod zgodny z Arduino UNO:

Kod:
/*
 * main.c
 *
 *  Created on: 7 lip 2016
 *      Author: Mariusz
 */
#include <avr/io.h>
#include <util/delay.h>

int main (void) {
   while(1) {
      PORTB = _BV(PB0);
      _delay_ms(250);
      PORTB = 0;
      _delay_ms(250);
   }
}



Następnie ustawiłem procesor i kwarc na zgodne w tym co na Arduino:

Obrazek


Kompiluję:

Obrazek


Flashuję Arduino:

Obrazek


Cały log z operacji:

Kod:
Launching D:\Mariusz\Zapisane\Eclipse-BlueBook-AvrDude\avrdude -pm328p -carduino -PCOM3 -Uflash:w:00_TEST_BLINK_LED.hex:a
Output:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "00_TEST_BLINK_LED.hex"
avrdude: input file 00_TEST_BLINK_LED.hex auto detected as Intel Hex
avrdude: writing flash (176 bytes):

Writing | ################################################## | 100% 0.03s

avrdude: 176 bytes of flash written
avrdude: verifying flash memory against 00_TEST_BLINK_LED.hex:
avrdude: load data flash data from input file 00_TEST_BLINK_LED.hex:
avrdude: input file 00_TEST_BLINK_LED.hex auto detected as Intel Hex
avrdude: input file 00_TEST_BLINK_LED.hex contains 176 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 176 bytes of flash verified

avrdude done.  Thank you.

avrdude finished


Kompiluje i programuje się poprawnie.

A mimo to, program w arduino nie działa.


Co dziwne, identyczny kod, skompilowany w AtmelStudio wgrywa się do Arduino, i działa na Arduino poprawnie.

Obrazek

Ciekawe, prawda?

Czyżby Eclipse miał problem z kompilacją dla ATmega328P ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lip 2016, o 23:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

witam,
A czy czasem nie brakuje ustawienia DDR... ? :?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


wychodzi nam jakieś pomieszanie z poplątaniem języków C i CPP. :|
pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 06:58 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Kod pochodzi z EDW 5/2016 str. 36 i jest to raczej czyste C (kurs C w EDW):

Obrazek

Pod AtmelStudio kompiluje się poprawnie, i wgrany do Arduino również działa. A skompilowany spod Eclipse-a ruszyć na Arduino nie chce.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 09:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27313
Lokalizacja: Szczecin
Pomógł: 1041

mes mariusz napisał(a):
Ciekawe, prawda?

Czyżby Eclipse miał problem z kompilacją dla ATmega328P ?

Parwda że ciekawe - no sorry ale bardziej BZDURNEJ teorii to ja nie widziałem i tak długo jak będzie takie głupoty kolego opowiadał zamiast szukać błędu w tym co robisz TAK DŁUGO będziesz miał takie efekty nauki ... Bo zamiast pisać kod ze zrozumieniem to ty przepisujesz go NA PAŁĘ, robisz błędy (chociaż to oczywiste że jak się bez zrozumienia pisze to się popełnia błędy, w ogóle każdy początkujący popełnia błędy ... ba! ja np nie jestem może już aż takim początkującym i też je popełniam ... to normalne)

Ale ostatnią BZDURĄ jest klepanie takich rzeczy - że pewnie Eclipse nie radzi sobie .... Wyjaśnię ci dlaczego KLEPIESZ BZDURY bo nawet nie zdajesz sobie sprawy z tego co piszesz a warto żebyś raz sobie zdał sprawę to później może w końcu zaczniesz zwracać uwagę na jakieś szczegóły i może w końcu sięgniesz do książki którą niby masz pod ręką bo ją umieściłeś w podpisie - Bluebooka ... żeby rozumieć to co piszesz

- PO PIERWSZE Eclipse nie jest KOMPILATOREM (tu pewnie masz nawyki z Bascoma) ... więc Eclipse nawet nie ma jak radzić sobie albo nie radzić z kompilacją a już szczególnie z ATmegą jakąkolwiek

- PO DRUGIE za kompilację odpowiedzialny jest KOMPILATOR - TOOLCHAIN, którego jeszcze tak niedawno w innym wątku instalowałeś z epoki kamienia łupanego czyli WinAVR .... i też wymyślałeś jakieś kosmiczne historie, a później jednak po zainstalowaniu Atmel Toolchaina sam napisałeś że już wszystko działa

A zatem - to co wyprawiasz w Eclipse i rzekomo wgrywa ci się do twojego arduino i nie działa to nie ma o tyle nic wspólnego z Eclipse, że Eclipse występuje tu tylko jako innego rodzaju EDYTOR tekstu, coś w stylu Notepad.exe albo MsWord.exe który koloruje składnię itp ... Dopiero jak klikasz klawisz "KOMPILUJ" to taki EDYTOR uruchamia kompilator, który kompiluje twój program ! ... Z pakietem Atmel Studio jest praktycznie IDENTYCZNIE - rozumiesz ? ... Tyle że ma wbudowanych troszkę dodatkowych narzędzi jak np debuger ale to już inna rzecz - działanie jest to samo!

Podsumowując czy programujesz w Eclipse czy w Atmel Studio - używasz TEGO SAMEGO kompilatora - więc nie pleć na drugi raz BZDUR - że jakieś Eclipse albo inny edytor nie radzi sobie z Atmega328P

Tym bardziej - że no robisz TAK OBRZYDLIWEGO BABOLA w tym swoim kodzie - a kurka wodna masz poprawny kod w Eclipse na miganie diodą LED tuż pod spodem w tym kodzie z książki i widać to na twoim screenshocie

ale wracając do twojego OBRZYDLIWEGO BABOLA .... pokazujesz kurna że w oko, swój kod w Eclipse
Obrazek

kod posiada strasznie głupiego BABOLA i kolega Daro69 nawet ci mówi jaki to babol
Daro69 napisał(a):
A czy czasem nie brakuje ustawienia DDR... ?

Ba! No nawet kurka wodna pokazuje ci w twoim kodzie - gdzie masz tego babola tzn co brakuje - tyle że używa do tego NORMALNYCH przesunięć bitowych zamiast DURNYCH jak but makr _BV() a widać, że są durne te makra po tym jak ty i wielu początkujących uciekających gdzie pieprz rośnie przed przesunięciami bitowymi, jak ty rozumiesz te makra _BV()

a więc Daro69 tobie pokazuje BABOLA a ty nadal (no przepraszam za określenie) a ty nadal z uporem maniaka twierdzisz że twój kod pod Eclipse jest dobry bo przecież wziąłeś go z jakiejś gazety i BACH oto twój kod z gazety
Obrazek

No ja cię .... przepraszam .... ale żeby nie widzieć w tych dwóch obrazkach różnicy w kodzie po tym jak jeszcze Daro69 ci mówi wprost gdzie jest ten błąd

i dalej pisać BZDURY, że w Atmel Studio skompilowany działa a w Eclipse nie działa bo chyba Eclipse nie radzi sobie z Atmega3288P to już trzeba ....

......... Mówię ci zacznij ty czytać na spokojnie i po kolei Bluebooka - tzn przeczytaj go najpierw raz w całości a później od początku i wtedy już można na wyrywki, czytaj bo gdybyś to już zrobił do tej pory to nie miałbyś tych problemów i takich Bzdur byś nie pisał

ZAPAMIĘTAJ też sobie - że jak ci coś nie wychodzi bo się dopiero uczysz C, to nie wymyślaj na drugi raz, powodów typu:

- a bo kompilator jest skopany
- aaa eclipse źle kompiluje
- okazało się że procesor mam zepsuty bo nie chce działać z moim kodem

itp itd

A na koniec dla ciebie - mała zagadka - popatrz na dwa obrazki na dole A i B i znajdź różnice

Obrazek

I jak znajdziesz to napisz jak myślisz - przez którą to różnicę czyli przez jaki TWÓJ BŁĄD kod nie działa gdy kompilowałeś go pod Eclipse hmmm ?

czytaj panie - czytaj - bo będziesz tracił tylko czas przy takim sposobie nauki przepisywania bez zrozumienia że hej

------------------------ [ Dodano po: 2 minutach ]

Musiałem to napisać bo jak patrzę na twój upór i to że W OGÓLE nie czytasz tego co ktoś ci podpowiada - mam tu na myśli wskazanie ci już WPROST przez kolegę Daro69 BABOLA którego robisz - to nie wytrzymałem.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 10:17 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Bożesz, Mirku, "Czyżby Eclipse miał problem z kompilacją" to był skrót myślowy. Wiem, że Eclipse jest środowiskiem, nie kompilatorem. Nie myślałeś o urlopie?

Co do reszty - wygląda na to, że macie rację. Nie śledziłem uważnie, po prostu otworzyłem AtmelStudio, skompilowałem, zaprogramowałem Arduino i ruszyło. Potem kopiuj-wklej do Eclipse, kompiluję, wgrywam do Arduino i nie działa. Nie mam teraz dostępu do komputera, więc sprawdzę to po powrocie (w sensie - jakim cudem zgubiłem linijkę podczas kopiowania, no chyba, że rzeczywiście w środowisku Atmel Studio kompilacja dokonała się poprawnie mimo wybrakowanego kodu. Stawiam jednak na moją pomyłkę. Sprawdzę i dam znać.

Mirku, wyluzuj, w sensie szkoda nerwów na pisanie i irytowanie się.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 10:54 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27313
Lokalizacja: Szczecin
Pomógł: 1041

mes mariusz napisał(a):
Mirku, wyluzuj, w sensie szkoda nerwów na pisanie i irytowanie się.

To nie nerwy - zrozum jedno - bo staram się każdemu początkującemu zaszczepić

jak ci coś nie wychodzi to nie zwalaj winy na wszystko inne od kompilatorów, poprzez eclipsy, atmelstudia, strukturę wewnętrzną procków i Bóg wie co jeszcze ... byle tylko nie doszukiwać się błędu w tym co się samemu robi ... To jest prosta zasada ;) ... i może nie uwierzysz ale ja sam ją stosuję ... więc jak jesteś na tym forum to postaraj się o tym pamiętać ...

AHA -- nie wspomnę już o tym, że nawet w tym poradniku o ECLIPSE MARS, którego miałeś rzekomo obejrzeć a jak widać i tego ci się nie chciało - MIAŁEŚ WŁAŚNIE kod na miganie diodą LED ....

Więc wybacz, że jak widzę, że komuś nie chce się obejrzeć poradnika "bo za długi", nie chce się poczytać książki "bo to też za długo trwa" a w międzyczasie sam traci jeszcze więcej czasu i wymyśla takie niestworzone historie - no to zawsze na to reagowałem, reaguję i będę reagował na forum ;)

i nie szkoda mi czasu na pisanie - bo pewnie ten cały wątek dojrzy inny początkujący i być może nie popełni tych błędów co ty - po to jest forum.

------------------------ [ Dodano po: 5 minutach ]

mes mariusz napisał(a):
że rzeczywiście w środowisku Atmel Studio kompilacja dokonała się poprawnie mimo wybrakowanego kodu


No i widzisz ;) nie potrafisz przestać ale nie piszę tego w nerwach tylko po prostu ... no aż się uśmiecham ....

Atmel Studio dokonał poprawnie kompilacji wybrakowanego kodu ! ;) to zdanie będzie trzeba zapisać do annałów historii ... i w ogóle eureka, przenieśmy się wszyscy na atmel studio bo w nim nie trzeba poprawnie pisać kodów - można popełniać KARDYNALNE BŁĘDY ( a brak ustawienia kierunku portu panie kochany

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ten brak to KARDYNALNY błąd w twoim przypadku tylko tobie nadal ciężko zajrzeć i do książki a nawet pal pies książkę .... kurza melodia no masz to wydzielone jako istotny temat nawet na blogu:

http://mirekk36.blogspot.com/2012/01/av ... stawy.html

poczytaj że chociaż to - poświęć odrobinę czasu na ZROZUMIENIE tego co robisz - zamiast robić to kompletnie bez pojęcia, która linia za co odpowiada ... bo sam zobacz założyłeś wątek wczoraj o 21:12 - a pewnie sam walczyłeś z tym już co najmniej od godziny wcześniej. Dzisiaj mamy godzinę 12:00 ... a ty nadal jesteś w lesie ze zrozumieniem do czego jest ta linia pomimo że:

1. masz ksiażkę
2. masz bloga
3. masz poradnik wideo

to powiedz sam - no jak tu nie zareagować ? ;) i nie napisać kilku słów i to bez żadnych nerwów ;)

------------------------ [ Dodano po: 7 minutach ]

mes mariusz napisał(a):
Bożesz, Mirku, "Czyżby Eclipse miał problem z kompilacją" to był skrót myślowy. Wiem, że Eclipse jest środowiskiem, nie kompilatorem.

Pokazałem ci w punktach , że nie to było najgorsze w tym co się ciągnie w tym wątku ;)

mes mariusz napisał(a):
Nie myślałeś o urlopie?

Niestety nie mam czasu na takie frykasy ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 12:48 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Cytuj:
AHA -- nie wspomnę już o tym, że nawet w tym poradniku o ECLIPSE MARS, którego miałeś rzekomo obejrzeć a jak widać i tego ci się nie chciało - MIAŁEŚ WŁAŚNIE kod na miganie diodą LED ....


Mirku. Tak bardzo jesteś zajęty tworzeniem własnych teorii na temat innych ludzi (co myślą, co chcą, czego nie chcą, co planują, czego nie planują, co im się chce, co im się nie chce, czy są pracowici, czy leniwi, czy chcą migać diodą, czy nie chcą, czy coś obejrzeli, czy nie obejrzeli), że nie masz czasu poczytać tego co ci piszą. Nie wiem, może to twój sposób na wyładowywanie frustracji, może specyficzne hobby. Nie wiem, nie wnikam.

Jeszcze raz. Po chłopsku. Skopiowałem kod z jednego środowiska w drugie, bo chciałem zobaczyć (z ciekawości) czy płytka od Arduino (taką akurat miałem tutaj pod ręką - jestem na urlopie) zatrybi. Nikt nie mówi tu o wnikaniu w kod, jego rozumieniu, stosowaniu makr, czy przesunięć bitowych. Tym będę się bawić za chwilę.

Nie wiem, może lubisz elaboraty. Mnie się wydaje, że wystarczyło napisać "Kolega Daro69 ma rację", albo nawet w przypływie uzasadnionej irytacji wkleić obrazek:
Obrazek

Ale, owszem, zgadzam się z tobą, błędów należy szukać po swojej stronie. Mnie zmyliło to, że skopiowałem kod z jednego w drugie (ctrl-c, ctrl-v) więc podświadomie wykluczyłem możliwość popełnienia błędu. Jakimś cudem, widać, brak linii konfiguracji portu. Wrócę, to sprawdzę kod w obu środowiskach, i spróbuję odtworzyć całą sytuację, bo do jej pory nie pojmuję, jakim cudem linia została zgubiona.

Pozdrawiam
Mariusz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 13:02 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27313
Lokalizacja: Szczecin
Pomógł: 1041

To nie frustracja ;) tylko po prostu powiedziałem ci po chłopsku i mam nadzieję, że zrozumiałeś to dobrze i na drugi raz będzie lepiej

------------------------ [ Dodano po: 1 minucie ]

mes mariusz napisał(a):
Mnie się wydaje, że wystarczyło napisać "Kolega Daro69 ma rację"

Nie wystarczyło panie, nie wystarczyło - bo to sam mogłeś doczytać gdybyś chciał... tu nie chodzi o kwestię kto ma rację ... tu chodzi o to, żeby tak PODSTAWOWE rzeczy robić ze zrozumieniem tym bardziej jeśli się ma tyle materiałów wokoło siebie i nie wymyślać kosmicznych wniosków na które jak widzisz zawsze będę reagował ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 13:40 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Jak kopiujesz z czegoś dobrego i sprawdzonego, to już więcej nie zastanawiasz się nad kodem (bo wiesz, że przed chwilą działał). Tu zadziało się coś nietypowego. Trudno więc kogoś winić. Nawet ja nie mam pojęcia jak do tego doszło. Warto wziąć co najwyżej lekcję z tego, że i podczas trywialnego kopiowania coś dziwnego może się podziać - wtedy będzie można szybciej problem wychwycić samodzielnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 13:44 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27313
Lokalizacja: Szczecin
Pomógł: 1041

No widzisz w końcu dochodzisz do słusznych wniosków ;) i o to mi tylko chodziło ...

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 13:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

witam, :)
z tym c i cpp, to ja sam sobie zamieszałem. :lol:
Zasugerowałem się działem arduino cpp. :roll:
Ale ustawienie DDR.. musi być, choćby jakimiś makrami, bo bez tego piny będą DDR = 0 - czyli wejścia.
pozdrawiam.

Ale... się dopatrzyłem -
w Twoim pierwszym poście w ostatnim wklejonym zdjęciu jest poprawny kod- (ten który działa) ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lip 2016, o 16:32 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Przybyłem, sprawdziłem i potwierdzam, że spod środowiska Eclipse z toolchain-em również wszystko kompiluje się i programuje się na płytce Arduino Uno poprawnie, a przyczyną wcześniejszych kłopotów okazał się jakiś ludzki błąd podczas kopiowania kodu między środowiskami.

Pozdrawiam
Mariusz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO