Witajcie,
Składam sobie pewne urządzenie. Używam w nim procesora ATMEGA328PB taktowanego kwarcem 18.432MHz. Problem w tym, że procesor ten zachowuje się dziwnie. Przykładowo: prosty kod, który miga diodą co sekundę (sekundę świeci i sekundę nie świeci). Po uruchomieniu dioda świeci przez ~18 sekund i gaśnie również na ~18 sekund, pomimo, że opóźnienie w kodzie wynosi 1000ms.
Generalnie programuję ten procesor poprzez programator Arduino as ISP. W ustawieniach (zakładka narzędzia) wygląda to następująco:
W zasadzie procesor ten działa poprawnie jedynie kiedy wybiorę jako źródło taktowania wewnętrzny zegar 1MHz (tj. czas opóźnienia w kodzie pokrywa się z rzeczywistym), ale kiedy wybiorę już 8MHz to opóźnienie, które powinno trwać sekundę, trwa 8 sekund.
Warto chyba wspomnieć, że procesory kupiłem na Aliexpress. Niemniej, generalnie działają bo kod się wykonuje, tylko wiele razy wolniej niż powinien.
Nigdy nie miałem takiego problemu. Co tu się mogło podziać?
Składam sobie pewne urządzenie. Używam w nim procesora ATMEGA328PB taktowanego kwarcem 18.432MHz. Problem w tym, że procesor ten zachowuje się dziwnie. Przykładowo: prosty kod, który miga diodą co sekundę (sekundę świeci i sekundę nie świeci). Po uruchomieniu dioda świeci przez ~18 sekund i gaśnie również na ~18 sekund, pomimo, że opóźnienie w kodzie wynosi 1000ms.
Generalnie programuję ten procesor poprzez programator Arduino as ISP. W ustawieniach (zakładka narzędzia) wygląda to następująco:
W zasadzie procesor ten działa poprawnie jedynie kiedy wybiorę jako źródło taktowania wewnętrzny zegar 1MHz (tj. czas opóźnienia w kodzie pokrywa się z rzeczywistym), ale kiedy wybiorę już 8MHz to opóźnienie, które powinno trwać sekundę, trwa 8 sekund.
Warto chyba wspomnieć, że procesory kupiłem na Aliexpress. Niemniej, generalnie działają bo kod się wykonuje, tylko wiele razy wolniej niż powinien.
Nigdy nie miałem takiego problemu. Co tu się mogło podziać?