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

[Atmega16][C] Odmierzanie 100ms

kwikam 31 Sie 2010 11:29 1191 7
REKLAMA
  • #1 8459471
    kwikam
    Poziom 10  
    Witam,

    Chciałbym się poradzić, jaki jest najlepszy przepis na uzyskanie przerwania od timera co 100ms.
    Chodzi o zbudowanie dokładnego urządzenia pomiarowego. Rozważalem tryb CTC, dołączanie zewnętrznego kwarcu ale chciałbym poznać jakiś sprawdzony sposób.
  • REKLAMA
  • #2 8459484
    mirekk36
    Poziom 42  
    To co rozważasz to bardzo dobry sposób ;) nie ma lepszego.

    Wszystko zależy czy potrzebujesz super dokładnego 100ms czy tylko zgrubnie odczekać 100ms. W tym drugim przypadku można zrobić programowy timer i na jego podstawie odmierzać różnej długości odcinki czasów dla wyzwalania jakichś zdarzeń itp.

    Ale jeśli precyzyjnie to tak jak piszesz.
  • REKLAMA
  • #3 8459646
    kwikam
    Poziom 10  
    To teraz pytanie: jak przy pomocy 8-bitowego timera z zewnętrznym kwarcem otrzymać 100ms? Bo jeśli chodzi o pełną sekunde to sprawa jest oczywista: 32768 / 128 * 256.
    Oglądam typoszeregi kwarców i jakoś w tym excelu nie mogę dopasować wartości preskaler * częstotliwość aby wyszła pożądana wartość.
  • REKLAMA
  • #4 8459672
    tadzik85
    Poziom 38  
    Instrumentujesz dodatkowa zmienną co np 10ms, gdy zmienna osiągnie 10 masz 100ms.
  • REKLAMA
  • #5 8459721
    gaskoin
    Poziom 38  
    przy kwarcu 32, 768 kHz nie da się tak tego dobrać żeby było IDEALNIE 100 ms, musisz to rozbić na kilka etapów
  • Pomocny post
    #6 8459770
    Andrzej__S
    Poziom 28  
    Kwarc 1,8432MHz, prescaler 1024, timer w trybie CTC na 180 taktów.
    Kwarc 2,4576MHz, prescaler 1024, timer w trybie CTC na 240 taktów.
  • #7 8459774
    kwikam
    Poziom 10  
    gaskoin, no właśnie. I tu się zaczynam zastanawiać czy ten zewnętrzny kwarc będzie potrzebny, jesli zacznę zliczać petle i stawiać warunki.

    Dodano po 26 [minuty]:

    Andrzej_S, dzięki. Mam nadzieje, że w moim pobliskim sklepie elektronicznym bedą mieli takowe.
  • #8 8459875
    gaskoin
    Poziom 38  
    nie masz zliczać pętli tylko w przerwaniu napisać msec++ :)
    łatwiej zastosować poprostu taki kwarc dla którego da się to dobrać tak żeby można było naliczyć 100 ms od razu.
REKLAMA