Korzystanie z kryształu 16 MHz na ATMega328p

10

Jak powinienem ustawić bity bezpiecznika na ATMega328p, aby używać kryształu 16 MHz? Próbowałem tego na własną rękę i zabiłem ostatnią atmega, którą miałem. Tym razem chciałbym rady.

Kryształ używam jest to jeden

Zakładam, że jest to „Full Swing Crystal Oscillator” wymieniony w arkuszu danych, więc CKSEL3..1 powinien mieć wartość 011

Następnie muszę ustawić czas uruchamiania. Zakładam, że „Oscylator kwarcowy, powoli rosnąca moc” jest bezpieczniejszą opcją, więc CKSEL0 powinien wynosić 1, a SUT1..0 powinien wynosić 11.

Nie chcę dzielić zegara przez 8, więc CKDIV8 powinien wynosić 1

CKOUT Opuszczę domyślnie 1

Jeśli moje założenia są prawidłowe (i jak to zweryfikować?), Moim ustawieniem bitu lfuse będzie 0xf7.

Czy robię to dobrze?


To nie zadziałało. Zobacz tutaj

JonDrnek
źródło

Odpowiedzi:

6

Arduino używa ustawienia niskiego bezpiecznika 0xff dla ATMega328p, który jest taki sam jak 0xf7, z tym wyjątkiem, że kryształ nie jest zaprogramowany jako pełne zamach. Pełne wahanie jest zalecane dla prędkości powyżej 8 MHz, a zwłaszcza, jeśli wiele jednostek korzysta z tego samego źródła zegara.

sivu
źródło
2

Spróbuj użyć AVRFuse . Tego używam do wszystkich moich bezpieczników i działa dobrze.

Złapów
źródło