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

[ATtiny2313][BASCOM] readeeprom nie działa

marek.mm 27 Cze 2010 19:18 1567 1
REKLAMA
  • #1 8237563
    marek.mm
    Poziom 10  
    Czy ktoś mi może powiedzieć co w tym kodzie jest nie tak, że readeeprom nie działa? Program nei robi nic konkretnego. Powinien po prostu wyświetlić jedną liczbę na wszystkich wyświetlaczach ale z niewiadomych przyczyn tego nie robi.

    Kod:
    
    '****************************OPIS DZIAŁANIA PROGRAMU****************************
    '*******************************************************************************
    
    'wykorzystanie EEPROM
    
    '********************************ZAWARTOŚĆ EEPROM*******************************
    '*******************************************************************************
    
    $eeprom
    Tabela:
    Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144
    
    $data
    
    '********************************KONFIGURACJA uC********************************
    '*******************************************************************************
    
    
    Ddrb = &B11111111   'konfiguracja I/O portu B     '0'-WE, '1'-WY
    Portb = &B11111111  'stan spoczynkowy
    Ddrd = &B1111100    'konfiguracja I/O portu D     '0'-WE, '1'-WY
    Portd = &B0000111   'stan spoczynkowy
    
    '************************************ZMIENNE************************************
    '*******************************************************************************
    
    
    Dim W1 As Byte
    
    
    '******************************WARUNKI POCZĄTKOWE*******************************
    '*******************************************************************************
    
    W1 = 0
    
    '**********************************PĘTLA GŁOWNA*********************************
    '*******************************************************************************
    
    Do                  'pętla nieskończona
       Wait 1
       Portb = &B00000000
       Wait 1
       Portd = &B1111111
    
       Readeeprom W1 , Tabela
       Portb = W1
       Portd = &B0000111
       Wait 5
    Loop
    End                 'end program
    
    '***********************************PODPROGRAMY*********************************
    '*******************************************************************************
    
    


    Readeeprom nie działa bo pod W1 nie jest z EEPROMU nic pobierane a nie wiem czemu.
    Proszę o wskazówki dotyczące rozwiązania.
  • REKLAMA
  • #2 8237782
    landy13
    Poziom 31  
    Readeeprom W1 , Tabela 
    Jaką wartość ma zmienna Tabela w momencie odczytu? Gdzie jest zadeklarowana?
    W instrukcji Readeeprom zmienna która u Ciebie nosi nazwę Tabela to adres w pamięci eeprom. Można nią czytać dane zapisane instrukcją Writeeeprom (lub inne o ile znasz adres pod którym są zapisane).
    Do odczytu danych po instrukcji Data służy Read. Ale:
    Cytat:
    Uwaga! Należy pamiętać, że instrukcje READ i RESTORE nie działają z danymi umieszczonymi w pamięci EEPROM za pomocą instrukcji DATA. Te instrukcje odczytują dane z linii DATA trafiających do pamięci kodu.
    Dyrektywa $EEPROM została dodana tylko w celu ułatwienia tworzenia plików binarnych, których przeznaczeniem jest pamięć EEPROM.



    (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005
REKLAMA