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

Generator o zmiennej częstotliwości (przejście z Bascoma)

bratmaks 08 Maj 2009 19:49 1698 1
  • #1 6506896
    bratmaks
    Poziom 12  
    Witam. Z pewnych przyczyn musiałem przejść z pisania oprogramowania w Bascom na C. I pojawił się problem. Mianowicie chodzi o konfigurację Timera1 tak aby był generatorem, którego częstotliwość zmienia się wpisem do rejestru pwm1a.

    
    Pwm1a = 312
    Config Timer1 = Timer , Prescale = 8 , Compare A = Toggle , Clear Timer = 1
    On Compare1a Impuls
    Enable Interrupts
    Enable Compare1a 
    .
    .
    .
    .
    Impuls:
    Incr Puls
    Return
    

    I teraz chciałbym przejść z tym na język C. Ogólnie jest to fragment programu odpowiedzialny za generowanie impulsów taktujących dla sterownika silnika krokowego. W przerwaniu od przepełnienia licznika ma być zwiększana jedna zmienna informująca ile impulsów zostało wysłanych. Zmieniając wpis do pwm1a zmienia się częstotliwość sygnału. AVR to ATMega32 z kwarcem 11059200Hz.
  • #2 6509087
    janbernat
    Poziom 38  
    Najpierw przestudiuj co to są rejestry w ATMega32 i czym sterują.(z Atmela sciągnij).
    Gotowce z Bascoma (np. PWM) nie obsługują wszystkich trybów działania procesora.
    Co do C-nie wiem, ale wydaje mi się że rejestry trzeba obsługiwać "ręcznie"-ale też są gotowe programy np. na AVRFreaks-które coś obsługują.
    Niezależnie od używanego kompilatora i języka znajomość sprzętu przy tak małych procesorach jest na szczęście konieczna.
    "Na szczęście"-bo bez tego to byłaby czysta informatyka-korzystanie z "gotowców"- a tak to jest elektronika.
REKLAMA