logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Częstotliwość generowania przerwań przez Timer1 Atmegi8

04 Maj 2019 13:37 555 9
  • #1 17942196
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #2 17942218
    Konto nie istnieje
    Poziom 1  
  • #3 17942388
    Konto nie istnieje
    Poziom 1  
  • #4 17942401
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #5 17942735
    tmf
    VIP Zasłużony dla elektroda
    Erwin14 napisał:
    1. Czy nie będzie przeszkadzać że jest 20nF zamiast klasycznych 22nF?

    Raczej pF. 20, czy 22 raczej bez znaczenia, chociaż ja dałbym 12-15 pF. Podane wzory we wskazanym linku przez kol. @stmx są ok, tylko trzeba uwzględnić pojemność wejścia MCU oraz pojemność ścieżek. Stąd te 15 pF max myślę, że jest lepsze.
    Erwin14 napisał:
    3. Użyte kondensatory trochę się różnią między sobą, nie dobierałem ich dokładnie, czy nie będzie to przeszkadzać?

    Powinny to być takie same kondensatory, nie trzeba ich dobierać.
    Erwin14 napisał:
    ale [pytanie 5] do czego służy start-up time np. "6 clocków + 64ms?"?

    Ustala czas po jakim zostanie uruchomiony MCU. Lepiej dać dłuższy czas, może być nawet maksymalny. Dzięki temu napięcia w układzie zdążą się ustabilizować, podobnie jak oscylacje w zegarze.
    Erwin14 napisał:
    [pyt 7] Za to na końcu jest coś takiego jak "External/Crystal HIGH Frequncy..". Moje 16MHz to dużo więc będzie się nadawać?

    Kwarc to crystal, nie wybieraj opcji RC, bo to zewnętrzny generator RC i kwarc raczej na tym nie ruszy. Dla 16 MHz wybierasz właśnie high-freq, co zapewne zaprogramuje też fusebit ck-opt, co jest wymagane dla tej częstotliwości. Kwarc 16 MHz raczej nie ruszy przy obniżonym prądzie driverów zegara.
    Erwin14 napisał:
    [pyt8] Mogę potestować różna opcje bez obawy że uszkodzę układ (np. zaprogramuję coś źle i się nie będzie dało odprogramować)?

    Niestety nie. Jeśli wybierzesz nieprawidłowe źródło zegara, to MCU nie ruszy, bo nie będzie taktowania, a bez taktowania nie działa też ISP, więc nie będzie dało się przeprogramować fusebitów. Także wybieraj opcje, które dobrze rozumiesz. Procesora nie uszkodzisz, ale może być problem z ponownym programowaniem i trzeba będzie kombinować z zegarem. A jak sobie zablokujesz RESET to w ogóle kaplica, bo będzie potrzebny programator HV.
  • #6 17942804
    Konto nie istnieje
    Poziom 1  
  • #7 17942808
    danthe
    Poziom 30  
    stmx napisał:
    To że wpiszesz F_CPU cos tam nie oznacza że procesor "magicznie" zacznie działać na 16MHz

    Atmegi mają 8MHz oscylator wewn i do tego ustawiony podzielnik 8. CZyli działają na 1MHz

    1MHz / 64 / 25000 = 0.67HZ i tyle właśnie dostajesz. Aby mieć 16MHz to musisz mieć zewn oscylator + ustawic fusy


    Zresztą poczytaj o innych rejestrach timera bo nie tak się określa do ilu liczy timer.


    Atmega8 ma domyślnie ustawiony oscylator RC 1MHz, i nie ma podziału przez 8. Opisana przez kolegę sytuacja występuje w rodzinie Atmega48 - 328 .
  • #8 17942831
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #10 17943414
    Konto nie istnieje
    Poziom 1  
REKLAMA