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][Bascom] - Przez konfiguracje Timer2 brak kompilacji kodu

14 Lip 2013 22:11 2250 12
REKLAMA
  • #1 12522708
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #2 12523007
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Skoro kolega chce zliczać Timerem 2 opadające zbocza impulsów, to na którą nóżkę M16 podaje kolega te impulsy? Przeglądałem opis wyprowadzeń i nie widzę tam wyprowadzenia T2.
  • #3 12523110
    Konto nie istnieje
    Konto nie istnieje  
  • #4 12526062
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Jeśli potrzebujesz sekundę to prócz kwarcu 16MHz podłącz kwarc zegarkowy 32768Hz i puść Timer2 asynchronicznie. Timer0 się zwolni.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 12526252
    Konto nie istnieje
    Poziom 1  
  • #6 12526820
    Konto nie istnieje
    Konto nie istnieje  
  • #7 12527133
    yokoon
    Poziom 29  
    Posty: 1349
    Pomógł: 119
    Ocena: 144
    Witam.

    Nie bardzo rozumiem uzyskania 1sek z kwarcu 32768Hz i prescaler 128.

    Liczę w ten sposób :

    32768Hz / 128 = 256Hz = około 4ms
  • REKLAMA
  • #8 12528117
    Konto nie istnieje
    Poziom 1  
  • #9 12528235
    yokoon
    Poziom 29  
    Posty: 1349
    Pomógł: 119
    Ocena: 144
    Witam.

    Tak, zrozumiałem licząc dokładnie.

    32768Hz / 128 = 256Hz = 0,00390625sek

    Zliczając 256 tych odcinków otrzymujemy 1sek.

    0,00390625 * 256 = 1sek.

    emercus pomyliłeś się chyba pisząc i "podziel to jeszcze przez 256" ma być pomnóż.
  • #10 12528339
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Przecież kazał ci 256Hz podzielić przez pojemność Timera2 czyli 256 (kombinacji). Wychodzi 1 Hz czyli jeden cykl (przerwanie) na sekundę.
  • #11 12528417
    yokoon
    Poziom 29  
    Posty: 1349
    Pomógł: 119
    Ocena: 144
    M. S. napisał:
    Przecież kazał ci 256Hz podzielić przez pojemność Timera2 czyli 256 (kombinacji). Wychodzi 1 Hz czyli jeden cykl (przerwanie) na sekundę.


    Przepraszam, źle zrozumiałem.
  • REKLAMA
  • #12 12550881
    prawicowiec
    Poziom 9  
    Posty: 78
    Witam

    Czy potrafi któryś z was przekonwertować taki fragment kodu w BASCOM na C (Atmel Studio 6) ?

    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
  • #13 12550893
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono problem braku kompilacji kodu w BASCOM przy konfiguracji Timer2 w trybie Counter, co skutkowało błędem "Unknown CONFIG parameter [EDGE]". Użytkownik zauważył, że zmiana Timer2 na Timer0 pozwala na kompilację. Odpowiedzi wskazują, że Timer2 nie obsługuje zliczania impulsów na wyprowadzeniu M16, co skłoniło do rozważenia użycia Timer2 jako PWM oraz Timer0 do zliczania impulsów. Uczestnicy dyskusji sugerowali również użycie kwarcu zegarkowego 32768Hz do uzyskania dokładności w pomiarze czasu oraz omówili różne metody konfiguracji Timer2 do odliczania czasu. Ostatecznie użytkownik postanowił użyć Timer1 do zliczania impulsów, Timer2 z kwarcem zegarkowym, a Timer0 do obsługi serwomechanizmów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA