Arduino Polska Forum

Pełna wersja: programowanie Atmega8
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam wszystkich
Zwracam się z prośbą o pomoc w rozwiązaniu mojego problemu.
Mam mikrokontroler Atmege 8 chce wrzucić na nią program np blinka. Niby nic trudnego ale robię to za pomocą programatora USBASP. W arduino ide dodałem paczke z kontrolerami wybieram mikrokontroler ustawiam parametry wgrywam.
arduino ide nie wywala żadnych błędów wgrywanie zakończone blink działa ale jest problem z czasem.
Ustawiając atmege na kwarc 16 mea jedna sekunda trwa dla atmegi trwa 16 sekund w realu robiąc to samo z kwarcem 8 mega jet to samo wybierając kwarc wbudowany 8 mega to samo. jedynie z wewnętrznym 1 mega jest ok. dodam jeszcze tylko ze atmega 328p przez ten sam programator śmiga elegancko na wszystkich ustawieniach oscylatora, dodam tylko, że zworki slow sck też próbowałem i nic
Zworka SLOWSCK jest potrzebna tylko do wgrywania, czasami. Wgraj bootloader, nawet jeśli masz wybraną opcję "bootloader - none. Wgranie bootloadera ustawia przede wszystkim fusebity, a te ustawiają z jakiego zegara taktowania korzystasz. Fabrycznie w nowym uC jest to wewnętrzny 1MHz, chcesz inny przestawiasz fuse bity. Wybór z menu 16MHz tylko informuje program, że tak będzie ustawiony uC do którego program zostanie wgrany. Ale faktycznie masz ustawiony na 1MHz, to program działa 16x wolniej. Albo wybierasz z menu, że używać będziesz zewnętrznego 16MHz, wypalasz bootloader i Arduino samo ustawia odpowiednie fusebity.
Jak ustawisz opcję bootloader - NONE, to program bootloadera nie zostanie wgrany, nie będzie zajmował miejsca, przy kompilacji będzie dalej dostępne 8kb, ale fusy będą ustawione.
(10-02-2020, 16:37)kaczakat napisał(a): [ -> ]Zworka SLOWSCK jest potrzebna tylko do wgrywania, czasami. Wgraj bootloader, nawet jeśli masz wybraną opcję "bootloader - none. Wgranie bootloadera ustawia przede wszystkim fusebity, a te ustawiają z jakiego zegara taktowania korzystasz. Fabrycznie w nowym uC jest to wewnętrzny 1MHz, chcesz inny przestawiasz fuse bity. Wybór z menu 16MHz tylko informuje program, że tak będzie ustawiony uC do którego program zostanie wgrany. Ale faktycznie masz ustawiony na 1MHz, to program działa 16x wolniej.  Albo wybierasz z menu, że używać będziesz zewnętrznego 16MHz, wypalasz bootloader i Arduino samo ustawia odpowiednie fusebity.
Jak ustawisz opcję bootloader - NONE, to program bootloadera nie zostanie wgrany, nie będzie zajmował miejsca, przy kompilacji będzie dalej dostępne 8kb, ale fusy będą ustawione.
Wielkie dzięki 
zadziałało teraz mi śmiga jak należy temat zamknięty pozdrawiam