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

[Avr][Bascom] Pwm i wyrażenie incr

Hubold 21 Sty 2009 17:24 2159 6
REKLAMA
  • #1 6032761
    Hubold
    Poziom 11  
    Witam!

    W jaki sposób można wykonać zwiększanie wartości pwm na przykład co dziesięć z wykorzystaniem incr? Jeżeli jest lepsza możliwość proszę o podpowiedzi.
  • REKLAMA
  • #2 6032807
    dawid512
    Poziom 32  
    Incr zwiększa tylko o jeden więc musisz do jakiejś zmiennej dodawać 10 lub zrobić dodatkową zmienną do której wpiszesz 10 a potem dodasz ją do zmiennej której wartość chcesz zwiększyć.
  • REKLAMA
  • #3 6032824
    crazy_phisic
    VIP Zasłużony dla elektroda
    A może wystarczy:
    PWM_FREQ=krok(np 10)*zmienna
    i potem
    incr zmienna
  • REKLAMA
  • #4 6033004
    Hubold
    Poziom 11  
    crazy_phisic napisał:
    A może wystarczy:
    PWM_FREQ=krok(np 10)*zmienna
    i potem
    incr zmienna


    co wstawić zamiast krok ? za zmienną wstawić byte czy coś wyższego ?


    coś w ten deseń ?
    Incr K
         Pwm1a = K + 10

    przy czym wcześniej zdeklarowałem K jako byte i niespecjanie chce to działać.
  • #6 6033331
    crazy_phisic
    VIP Zasłużony dla elektroda
    Mnożenie to potężne narzędzie ;)
    
    dim K as byte
    dim krok as byte
    krok = 10 
    ....
    do
    Pwm1a=krok*k  ' dla k=0 pwm=0
    incr k                'k=1  teraz pwm wyniesie 10 
    loop
    

    potraktuj to jako pseudo kod.
  • REKLAMA
  • #7 6034262
    Hubold
    Poziom 11  
    A jeszcze takie pytanie odnośnie Pwm. Jak zrobić by pwm miało wartość 0 lub 1. Program który stworzyłem to program do sterowania podświetlenia wyświetlacza lcd poprzez tranzystor i pwm osiąga wartość najwyższą ale najniższej raczej nie.
    [code]
    Dim K As Byte


    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 64

    Do
    If S1 = 0 Then 'jeśli przyciśnięty S1, to
    Waitms 25 'opóźnienie dla eliminacji drgań styków
    If S1 = 0 Then
    Incr K
    Pwm1a = 10 * K ' dla k=0 pwm=0

    End If
    End If
    Loop
    End
REKLAMA