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

AT90PWM3B / Bascom - problem z timer0 ?

sundayman 19 Lip 2010 17:29 2040 8
REKLAMA
  • #1 8308613
    sundayman
    Poziom 26  
    Mam taki otóż problem ;

    Mam pewien program, który działał w urządzeniu na Atmedze 8 P 16.
    Teraz przerobiłem sobie (znaczy zrobiłem drugie...) z użyciem AT90PWM3B - oczywiście pinologicznie tak samo, żeby nie przerabiać programu.

    No i właśnie zmieniłem w Bascomie chip na ten AT90PWM3B, chcę skompilować, a ten mi tutaj wywala pretensje przy ustawianiu TIMER0 :

    [ code ]

    ' ustawiamy timer0 na 1/100 sekundy

    Config Timer0 = Timer , Prescale = 1024
    Enable Interrupts
    Enable Timer0
    On Ovf0 Przerwanie

    [ /code ]

    Bascom stwierdza że : "unknown interrupt source [count<>3]" w linii "na zielono".

    O co dziadowi chodzi ?

    (a tak przy okazji - jaki jest znacznik "code" w poście, bo zapomniałem... ?)
  • REKLAMA
  • #2 8308718
    krzysiek_p
    Poziom 14  
    Hm, spróbuj zmienić enable timer na start timer. Ewentualnie spróbuj wpisać odpowiednią wartość bezpośrednio do rejestru - bascom ma problemy z obsługą pwm w niektórych procesorach (prawdę mówiąć jest tylko kilka, w których PWM działa wszędzie gdzie powinno i jak powinno). A znaczniki code to [code ] i [/code ] :)
  • REKLAMA
  • #3 8308742
    sundayman
    Poziom 26  
    No i coś mi te znaczniki nie działają... Zaraz jakiś moderator mnie tu zlinczuje... :)

    Więc tak - po zmianie na "start timer0" wywala mi się na linii "config timer0..."
    z błędem ".EQU not found, probably using functions that are not supported by selected chip [TCCR0]"

    No to znaczy chyba, że muszę ręcznie wpisywać, kurka wodna...

    Aha, a tak w ogóle, to ja potrzebuję ten timer0 tylko jako zwykłe źródło przerwań "co jakiś czas", a nie PWM. Wybór AT90PWM był z powodów cenowo/dostępnościowo/obudowowych... , bo nie chciało mi się lutować TQFP...
  • #4 8308913
    janbernat
    Poziom 38  
    A co wpisałeś w
    $regfile =
    ?
  • REKLAMA
  • #5 8309052
    sundayman
    Poziom 26  
    w regfile mam "at90pwm2_3.dat"
  • #6 8309100
    janbernat
    Poziom 38  
    Mam 1.11.9.8 i "at90pwm2_3.dat" nie obsługuje.
  • REKLAMA
  • #7 8309156
    sundayman
    Poziom 26  
    No więc po walce z datasheetem zrobiłem tak :

    [ code ]

    Tccr0a = &B00000000
    Tccr0b = &B00000101 ' prescaler 1024

    Timsk0 = &B00000001

    Enable Interrupts

    On Ovf0 Przerwanie

    [ /code ]

    No i wygląda na to, że jest OK. Skompilowało się, i miga mi led, czyli jakby żyje...
    (bo ten led z tego timera...)
  • #8 8309368
    janbernat
    Poziom 38  
    Znaczy podaj wersję Bascoma.
  • #9 8309409
    sundayman
    Poziom 26  
    Myślałem, że podałem : 1.11.9.0

    W każdym razie po ręcznym skonfigurowaniu działa.
REKLAMA