Arduino - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Oprogramowanie (/forum-84.html) +--- Dział: Technika programowania mikroprocesorów (/forum-85.html) +--- Wątek: Arduino (/thread-1713.html) |
RE: Arduino - SP6AUO - 18-03-2021 18:30 Port nie potrzebny,ok. A kwarc jaki wybrać ? Próbowałem i 20MHz i 16MHz. Na pcb gdzie siedzi 328p jest kwarc 20MHz. [attachment=16998] Na tym 328p jest już wgrana inną metodą ver 1.02p i trx działa. Dla odmiany próbuję wgrać ver1.02o i nie wychodzi. Tadeusz zerknij co mam poustawiane,może coś źle wybrałem. Rysio czy ( #if(F_CPU != 16000000) to o ten wpis chodzi ? RE: Arduino - SP3VPA - 18-03-2021 18:51 Andrzej. Ustawienia są poprawne. Ty pewnie masz ATmegę w obudowie TFQ, 32 pinową i podłączasz programator do płyty? Ja używam zwykłej ATmegi328 w DIP 28. Nie wiem więc jak to się zachowuje w Twoim przypadku. Poza tym spróbuj wgrać do procesora inny bootloader tak jak pisze Guido w szkicu: :"Instalacja UCX: Na czystym układzie scalonym, użyj (standardowych dla Arduino Uno) ustawień bezpieczników (E:FD, HE, L:FF), i użyj niestandardowego bootloadera Optiboot dla zegara 20MHz, a następnie prześlij przez interfejs szeregowy (z liniami RX, TX i DTR podłączonymi odpowiednio do pinów 1, 2, 3)" może to pomoże chociaż w kompilacji i zaprogramowaniu wg starej metody . Tak pisał też Paweł. Optiboot jest krótszy a zatem będzie więcej miejsca dla kodu. Pozdrawiam - Tadeusz. RE: Arduino - SP6AUO - 18-03-2021 19:30 Nie nie nie. Mam na pcb 328p 28pinów. Ja mam dwie metody na wgranie wsadu do328P i obie działają,ale są skomplikowane. Zaproponowałeś metodę przez USBasp z Arduino i ja się na to zapisałem. Tylko że coś w tej metodzie nie jest ok. Metodą dwustopniową zapisałem w jednym 328p ver1.02o W drugim 328p zapisałem ver 1.02p Obie ver działają ok. Twoja metoda wydawała mi się prosta,ale niestety jest nie do końca skuteczna. W oczekiwaniu na nowe płyty do uSDX przeprowadzałem testy,żeby się nie zanudzić i trochę doszkolić. Na tym kończę.Dziękuję Wszystkim i serdecznie pozdrawiam. RE: Arduino - SP6IFN - 18-03-2021 20:12 (18-03-2021 18:30)SP6AUO napisał(a): ciach...... Tak, o tym wpisie pisałem. Ale temat już wyczerpaliśmy, czegoś się nauczyłeś i to najważniejsze. .............. Rysio! RE: Arduino - SP6AUO - 19-03-2021 15:42 No właśnie.Zmieniłem wartość !=16000000 na !=20000000 i dokonałem zapisu pliku standard.hex do 328p. Zajęcie pamięci wyniosło 95% tak jak u innych a nie jak wcześniej u mnie 100%. Teraz jest wszystko ok. Nie wszystko jest ok. Przywróciłem !=16000000. Nie mogłem za każdym razem wejść do menu, Po przywróceniu nastawy 16000000 działa lepiej. RE: Arduino - SQ8MVY - 20-03-2021 12:21 Witam, chcę tylko zwrócić uwagę na bardzo ważną rzecz. Linia o której tu mówicie, czyli Kod: #if(F_CPU != 16000000) Jest to linia dla preprocesora, która powoduje jego określone zachowanie w przypadku spełnienia warunku. Rzeczywistą wartość taktowania ustawia się w/g założenia autora kodu w niższej linii. Ale i to rozwiązanie jest nie do końca poprawne, przynajmniej w takiej postaci, w jakiej jest tu użyte. Jeżeli natomiast zdecydujemy się na taktowanie zegarem 16MHz, to nalezy koniecznie pamiętać o odkomentowaniu linii 40, dla 20MHz linia ma być zakomentowana. Kod: #define F_MCU_16MHZ 1 // 16MHz ATMEGA328P crystal (enable for unmodified Arduino Uno/Nano boards with 16MHz crystal) Kod: #define F_CPU 20007000 // Actual crystal frequency of 20MHz XTAL1, note that this declaration Aby nie trzeba było pamiętać o tym co zakomentować / odkomentować, proponuję, dla chętnych oczywiście, zmienić zawartość linii 83 do 87 na taką: Kod: #if(F_CPU == 16000000) Teraz odpowiednie ustawienia będą wybierane w zależności jaką platformę do budowania wybierzemy - 16MHz czy 20 MHz. RE: Arduino - SP6AUO - 20-03-2021 13:27 I tak jest. Mam na pcb 20MHz,instaluję program bez zmian i jest dobrze. Pcb dojechały.Przechodzę do działu uSDX. Jeszcze raz dzięki za wszelką pomoc. RE: Arduino - SP6AUO - 01-04-2021 12:09 Próba zaprogramowania 328p smd i taki komunikat. [attachment=17061] Czy to oznacza ,że 328p do wymiany ? RE: Arduino - SQ8MVY - 01-04-2021 12:25 Sprawdź podłączenie programatora oraz zasilanie procka. Zmniejsz prędkość programowania. Taki komunikat pojawia się w przypadki braku komunikacji programatora z prockiem. Przyczyn może być kilka. Brak lub nie pracujący zewnętrzny kwarc ( jeżeli procek ustawiony jest na zewnętrzne taktowanie), zbyt wysoka prędkość taktowania z programatora ( zdarza się, gdy procek jest taktowany z podziałem / 8 ). Uszkodzenie procka zostaw na sam koniec, jak żadne inne metody nie dadzą pozytywnego rozwiązania problemu. RE: Arduino - SP9RQA - 01-04-2021 12:25 Hmm. Piszesz, że chcesz zaprogramować 328, a program pisze, że chce ATMega8. Może z programatorem się nie dogaduje, brak zasilania itp...? |