kiss39 wrote:
info.
https://tosiek.pl/usbasp-v2-0-warning-cannot-set-sck-period/
Szukałem na temat "SLOW SCK" i w moim programatorze USBasp są tego typu piny "JP3 – Slow SCK"- czyli do spowalnianie zegara "JP3 – Slow SCK – Jumper on only if the target clock is lower than 1.5 MHz."
To może za trybic podłączając w taki sposób np. podłączyć programator USBaps do Leonardo ATmega32u4 , a jedn PIN SCK z ICSP " do pinu SCK SLOW (JP3) z programatorem USBasp. Jaki programem odczytać lub wgrać?
Troche błędnie to pojmujesz. W twoim programatorze te miejsca pod piny JP3 nie spełniają żadnej funkcji.
To tylko ‘legacy’ (spuścizna) po oryginalnej wersji pytki tego programatora.
Funkcja ta została zmieniona i zaimplementowana w firmware jako automatyczne spowalniania transmisji pomiędzy komputerem a programowanym processorem jeżeli to jest wymagane.
Z tego powodu te piny nie zostały wlutowane do plytki.
Jeżeli jednak zechcesz iśc tą drogą, musiałbyś zmienic w nim firmware (cofnąc się ok. 10 lat do tyłu!!!); - tak jak sugeruje załaczony twój link.
Niemniej jednak na pinach tych nie występuje żaden sygnał zegarowy tak jak sugeruje dalsza częśc twojej wypowiedzi.
Nie bardzo wiadomo co właściwie chcesz osiągnąc(!)..
Dwa tygodnie pracy (tak długo ten temat jest tu ‘wałkowany') i efekt tego jest raczej mizerny....
Nie przemyślany zakup nowych dodatkowych urzadzeń nie wiele tu pomoże, dopuki nie poznasz i nie określisz rzeczywistego problemu. Byc może nie potrzebujesz nic nowego bo już to masz; - a raczej powiedziałbym : ‘z pewnością jest w zasiegu twojej ręki’, tylko ty o tym nie wiesz.
Zamiast wpadac w panikę i’łapac’ wszystkie napotkane sugestje, radziłbym poznac własny sprzęt i polegac więcej na własnej wiedzy.
Gdybyś wykorzystał ten, tu spędzony twój czas na przestudiowanie architektury AVR (relatywnie prostej) to byłbyś już expertem w swoim temacie…
Wracając do samego początku.
Zacząłeś ten temat od potrzeby wgrania bootloadera do ‘Leonardo’...
Na jakiej podstawie wysunąłeś taki wniosek?
Jeżeli dla przykładu: stary samochód nie chce zapalic, to w pierwszym rzędzie będziesz szukał przyczyny w ustawieniu zapłonu(?), albo timingu rozrządu(?), - gdy tymczasem brak jest paliwa.
Jeżeli nieopatrznie przestawiłeś w Leonardo fusebity kierujące jego zegar taktujący z własnego systemu ( rezonator kwarcowy i reszta układu wbudowana w processorze tworząc kompletny oscyllator) na zewnrzny zegar, to ‘zastępczy’ sygnał taktujacy musisz mu dostarczyc też z zewnątrz!
Ten zastępczy/tymczasowy sygnał taktujący nie musi byc dokładnie taki sam jak oryginalny (16MHz), moze byc jakikolwiek - aby był...
Wtedy masz szanse na nawiązanie komunikacji z processorem i odpytac ‘co mu dolega’... Byc może nic poza przywróceniem poprawnych ustawień fusebitów. Tą wiedzę musisz jednak posiadac.
Zastępczy sygnał taktujący możesz z łatwością utworzyc na każdym processorze konfigurując dowolny timer do pracy w trybie CTC z wyjściem odpowiednim jego architekturze . Program wtedy jest ‘pusty’; żadnych interruptów.
Inny przyklad, to może znajdzesz w złomie stary timer 555 (kiedyś rewelacyjne urządzenie) i na nim zrobic oscyllator . Albo wykonac astabilny multiwibrator na dwóch inwerterach, albo bramkach logicznych NAND i jeden rezystor , jeden kondensator. Znajdziesz w internecie dziesiątki rozwiązań na taki zastępczy oscyllator.
Mając ten etap za sobą, z łatwością dokonasz wszelkich manipulacji z każdym processorem (nie tylko ‘LEO’) wykorzystując posiadany od poczatku sprawny USBasp.
Jezeli jednak w jakikś sposób (?) ‘
udało ci się zablokowc’ processor przez edycje fusebitu SPIEN to w tym miejscu tworzy się poważniejszy problem , który może byc tematem na inną okazję...
e marcus