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

BASCOM wczytywanie elementów tablicy

admirators 04 Maj 2010 10:19 2504 2
REKLAMA
  • #1 8032942
    admirators
    Poziom 18  
    Witam.
    Jak wczytać zamiast wartości I (For I = 0 To 255),
    elementy tablicy i nimi wysterować wypełnieniem?
    Tab1:
    Data 94 , 61 , 115 , 13 , 97 , 127 , 73 , 79 , 127 , 127 , 119 ,
    Data 107 , 127 , 95 , 89 , 64 , 255 , 65 , 0 , 100 , 90 , 65 , 60 ,
    Data 127 , 125 , 60 , 70 , 80 , 0 , 65 , 90 , 65 , 0 , 78 , 63 , 10 ,
    Data 3 , 10 , 28 , 15 , 60 , 127 , 43 , 127 , 111 , 126 , 127 ,

    
    $regfile = "m8def.dat"                                      
    $crystal = 8000000                                          
    config Pinb.1 = Output                                      'linia PB1 (OC1A) jako wyjściowa
    Config Pinb.2 = Output                                      'linia PB2 (OC1B) jako wyjściowa
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up ,    Compare B Pwm = Clear Down ,   Prescale = 1                                              'konfiguracja Timer1 jako
           'generatora dwóch sygnałów PWM
           'na wyjściach OC1A i OC1B
    
    Dim I As Byte                                               'zmienna licznikowa dla pętli
           'For...Next
    Do                                                          'początek nieskończonej pętli
     For I = 0 To 255                                           'pętla wykonywana 256 razy.
      Pwm1a = I                                                 'wpisanie do zmiennej Pwm1a
           'wartości I określającej
           'wypełnienie sygnału na
           'wyjściu OC1A
      Pwm1b = I                                                 'wpisanie do zmiennej Pwm1b
           'wartości I określającej
           'wypełnienie sygnału na
           'wyjściu OC1B
      Waitms 4                                                  'czekaj 4 ms
     Next I                                                     'zwiększ o 1 wartość zmiennej I
     For I = 255 To 0 Step -1                                   'pętla wykonywana 256 razy.
      Pwm1a = I                                                 'wpisanie do zmiennej Pwm1a
           'wartości I określającej
           'wypełnienie sygnału na
           'wyjściu OC1A
      Pwm1b = I                                                 'wpisanie do zmiennej Pwm1b
           'wartości I określającej
           'wypełnienie sygnału na
           'wyjściu OC1B
      Waitms 4                                                  'czekaj 4 ms
     Next I                                                     'zmniejsz o 1 wartość zmiennej I
    Loop                                                        'koniec pętli nieskończonej
    End                                                         'koniec programu
    


    Pozdrawiam.
  • REKLAMA
  • #2 8033100
    arnoldziq
    VIP Zasłużony dla elektroda
    Zainteresuj się funkcją lookup.
    Pozwala ona na odczyt danych z DATA, na podstawie ich pozycji.
    Wszystko masz opisane w help-ie BASCOM-a.
  • #3 8057863
    mirley
    Poziom 17  
    Za pomocą polecenia lookup tak jak już wcześniej wspomniano

    
    For I = 0 To 255                                                    
      I = Lookup(I , Tab1)
      'tutaj I będzie już miało wartości z tabelki
    .....
REKLAMA