• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
programowanie Atmega8
#1
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
 
Odpowiedź
#2
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.
 
Odpowiedź
#3
(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
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości