Andrzeju,
MkAVRCalculator, którego używasz jest tylko nakładką na program avrdude.
Chcąc się dowiedzieć, co który przełącznik robi należy zacząć od zapoznania się z opisem obsługi avrdude. Nawet tak podstawowa pomoc, którą wyświetla avrdude wiele wyjaśnia.
Wracając do tych przełączników. Przełączik -b służy do ustawiania prędkości portu szeregowego RS-232 ( UART ) przez który prowadzona jest komunikacja między komputerem a programatorem. Zauważ, że avrdude obsługuje bardzo wiele różnych programatorów. Jedne komunikują się po USB ( za pomocą biblioteki libusb ) inne komunikują się za pomocą RS-232 ( FT232- uart ). Więc przełącznik -b ma wpływ na działanie tylko i wyłącznie przy programatorach z komunikacją rs-232
Przełącznik -B natomiast ma bardzo duże znaczenie w przypadku określania prędkości z jaką pracuje szyna SCK między programatorem a programowaną ATmegą.
Aby przejść dalej, należy wiedzieć, że taktowanie z programatora linii SCK musi być nie większe niż 1/4 prędkości taktowania rdzenia ATmegi. Jeżeli atmega taktowana jest z prędkością 8 MHz czy 16 MHz to w zasadzie nie trzeba używać przełącznika -B, bowiem programator usbasp nie jest w stanie tak szybko taktować linii SCK.
Inaczej sprawa wygląda, jeżeli programowana ATMega taktowana jest niską częstotliwością zegara ( 4MHz czy 1 MHz lub niższą ) na wskutek np. ustawionych fusebitów (np. aktywny dzielnik zegara przez 8 i ustawiony wewnętrzny generator) lub gdy zależy nam na taktowaniu np z zegara 32.768 kHz. Wtedy domyślnie programator będzie za szybko prowadził proces komunikacji z programowaną ATMegą, co w rezultacie uniemożliwi poprawną komunikację między programatorem a programowaną ATMegą.
I w tym miejscu zastosowanie ma ten magiczny przełącznik -B wraz z dodatkowym parametrem, który określa jak bardzo ma być spowolniona komunikacja programatora z programowaną ATmegą, aby cały proces programowania zakończył się pełnym sukcesem bez błędów.
Ale, aby przełącznik -B zadziałał, firmware programatora musi go obsługiwać. Problem w tym, że chińskie programatory usbasp mają tak stare firmware, że nie obsługują programowo spowalniania taktowania przy komunikacji z programowanym układem. O ile pamiętam od tego jest sprzętowa zworka na programatorze. Stąd też zasugerowałem, abyś zaktualizował firmware w swoim programatorze. Bardzo dużą wadą tych chińskich programatorów jest również brak układu separującego / dostosowującego poziomy napięć między programatorem a programowanym układem docelowym.
No i te magiczne fusbit-y. Tu kłania się niestety dokumentacja od ATmeg-i. Ale na sucho jak najbardziej można się pobawić - są nawet podpowiedzi z małym opisem poszczególnych bitów w MkAVRCalculator ( nalezy najechać myszką na daną pozycję i pojawi się dymek z opisem ). Pozmieniaj zawartość przełączników w zakładkach Fusy właściwości czy Fusy manualnie i zobacz jak zmieniają się wartości w okienkach LOW i HIGH w MkAVRCalculator. Opisy poszczególnych bitów w fusbit doczytaj w dokumentacji. Również autor MkAVRCalculator-a gdzieś to omawia ( o ile się nie mylę )...
Andrzeju, skoro już używasz programu MkAVRCalculator, to zaglądnij na stronę autora tego softu i oglądnij jakiś jego film, na którym omawia obsługę MkAVRCalculator. Zapewniam Cię, że wiele się rozjaśni.
MkAVRCalculator, którego używasz jest tylko nakładką na program avrdude.
Chcąc się dowiedzieć, co który przełącznik robi należy zacząć od zapoznania się z opisem obsługi avrdude. Nawet tak podstawowa pomoc, którą wyświetla avrdude wiele wyjaśnia.
Wracając do tych przełączników. Przełączik -b służy do ustawiania prędkości portu szeregowego RS-232 ( UART ) przez który prowadzona jest komunikacja między komputerem a programatorem. Zauważ, że avrdude obsługuje bardzo wiele różnych programatorów. Jedne komunikują się po USB ( za pomocą biblioteki libusb ) inne komunikują się za pomocą RS-232 ( FT232- uart ). Więc przełącznik -b ma wpływ na działanie tylko i wyłącznie przy programatorach z komunikacją rs-232
Przełącznik -B natomiast ma bardzo duże znaczenie w przypadku określania prędkości z jaką pracuje szyna SCK między programatorem a programowaną ATmegą.
Aby przejść dalej, należy wiedzieć, że taktowanie z programatora linii SCK musi być nie większe niż 1/4 prędkości taktowania rdzenia ATmegi. Jeżeli atmega taktowana jest z prędkością 8 MHz czy 16 MHz to w zasadzie nie trzeba używać przełącznika -B, bowiem programator usbasp nie jest w stanie tak szybko taktować linii SCK.
Inaczej sprawa wygląda, jeżeli programowana ATMega taktowana jest niską częstotliwością zegara ( 4MHz czy 1 MHz lub niższą ) na wskutek np. ustawionych fusebitów (np. aktywny dzielnik zegara przez 8 i ustawiony wewnętrzny generator) lub gdy zależy nam na taktowaniu np z zegara 32.768 kHz. Wtedy domyślnie programator będzie za szybko prowadził proces komunikacji z programowaną ATMegą, co w rezultacie uniemożliwi poprawną komunikację między programatorem a programowaną ATMegą.
I w tym miejscu zastosowanie ma ten magiczny przełącznik -B wraz z dodatkowym parametrem, który określa jak bardzo ma być spowolniona komunikacja programatora z programowaną ATmegą, aby cały proces programowania zakończył się pełnym sukcesem bez błędów.
Ale, aby przełącznik -B zadziałał, firmware programatora musi go obsługiwać. Problem w tym, że chińskie programatory usbasp mają tak stare firmware, że nie obsługują programowo spowalniania taktowania przy komunikacji z programowanym układem. O ile pamiętam od tego jest sprzętowa zworka na programatorze. Stąd też zasugerowałem, abyś zaktualizował firmware w swoim programatorze. Bardzo dużą wadą tych chińskich programatorów jest również brak układu separującego / dostosowującego poziomy napięć między programatorem a programowanym układem docelowym.
No i te magiczne fusbit-y. Tu kłania się niestety dokumentacja od ATmeg-i. Ale na sucho jak najbardziej można się pobawić - są nawet podpowiedzi z małym opisem poszczególnych bitów w MkAVRCalculator ( nalezy najechać myszką na daną pozycję i pojawi się dymek z opisem ). Pozmieniaj zawartość przełączników w zakładkach Fusy właściwości czy Fusy manualnie i zobacz jak zmieniają się wartości w okienkach LOW i HIGH w MkAVRCalculator. Opisy poszczególnych bitów w fusbit doczytaj w dokumentacji. Również autor MkAVRCalculator-a gdzieś to omawia ( o ile się nie mylę )...
Andrzeju, skoro już używasz programu MkAVRCalculator, to zaglądnij na stronę autora tego softu i oglądnij jakiś jego film, na którym omawia obsługę MkAVRCalculator. Zapewniam Cię, że wiele się rozjaśni.
73 Paweł

