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

Writeeeprom readeeprom - problem chyba za zmiennymi BASCOM

IMEX 04 Kwi 2010 19:30 2267 6
REKLAMA
  • #1 7920225
    IMEX
    Poziom 20  
    mam podobny problem

    napisałem program w wersji podstawowej jakiejs tam - zapisywanie do eprom bylo bez problemu

    zmienne
    Dim T_solar As Word , T_H_dn As Word , T_H_up As Word , S_praca As Bit


    odczytywane dane
    Readeeprom T_solar , 10
    Readeeprom T_H_dn , 20
    Readeeprom T_H_up , 30


    pobierane dane
                Case 2:
                  Select Case P_u
                    Case 0:
                      P_u = 1
                    Case 1:
                      If T_solar > 10 Then T_solar = T_solar - 10
                    Case 2:
                      If T_H_dn > 10 Then T_H_dn = T_H_dn - 10
                    Case 3:
                      If T_H_up > 0 Then T_H_up = T_H_up - 10
                    Case 4:
                    S_praca = Not S_praca
                      If S_praca = 0 Then P_u = 0
                  End Select
                  A_s = 0


    i zapisywane dane
            Writeeeprom T_solar , 10                            
            Writeeeprom T_H_dn , 20
            Writeeeprom T_H_up , 30


    i to wszystko działa OKI
    Writeeeprom readeeprom - problem chyba za zmiennymi BASCOM
    a są to zmienne z wyswietlacza 28, 2, 4 - a literka N dziala normalnie - zapisuje ja i odczytuje (1/0)

    Ale jak dodam dodatkowe menu CASE 3 - a w nim kolejne dane a procedura zapisywania i odczytywania dodana i zmienne - i niestety nie zapisuje mi tych danych. Ale jeżeli przed zapisem dodam

    
    T_solar = 10   'jakies tam dane
    T_H_dn = 10   'jakies tam dane
    T_H_up = 10   'jakies tam dane
    
            Writeeeprom T_solar , 10
            Writeeeprom T_H_dn , 20
            Writeeeprom T_H_up , 30


    on to zapisze poprawne i odczyta w tym dodatkowym menu
    Czego tu nie rozumiem
    Całego kodu nie podam ze zrozumiałych powodów - ale nic tam wiecej niema potrzebnego dla odczytu i zapisu danych

    rozkładam ręce
  • REKLAMA
  • #2 7920591
    guslar
    Poziom 2  
    Nie bardzo rozumiem co to za cudo:

    Readeeprom T_solar , 10
    Readeeprom T_H_dn , 20
    Readeeprom T_H_up , 30

    Za pomocą procedury "Readeeprom" wpisujesz liczby 10, 20 i 30 do zmiennych word?!?!?!
    Jaki masz kompiler, że na takie cuda pozwala?
    Chyba, że 10, 20 i 30 to nie liczby a labelki umieszczone w $eeprom, a to powinieneś wyjaśnić jak już o coś pytasz...

    Pokaż jak masz zadeklarowane zmienne w $eeprom to może to coś rozjaśni...
  • REKLAMA
  • #3 7920790
    mirekk36
    Poziom 42  
    IMEX napisał:

    rozkładam ręce


    to nie rozkładaj rąk i się nie katuj dalej poleceniami readeeprom lub writeeeprom, tylko zapoznaj się z

    Dim Zmienna As ERAM ....

    A potem zapisuj lub odczytuj w kodzie po prostu tą zmienną bez zabawy w jakieś pamiętanie adresów w erpomie
  • REKLAMA
  • #5 7920921
    guslar
    Poziom 2  
    Jeśli już to:

    Dim T_solar As Eram Word

    T_solar = 10 'zapis do zmiennej itp


    I nie zapomnij wymienić scalaka po roku jak przestanie pisać do wewnętrznego eeproma.... :)
  • REKLAMA
  • #6 7920942
    IMEX
    Poziom 20  
    Guslar

    Zmienne są pobierane z Case - T_Solar T_H_dn T_H_up

                Case 2:
                  Select Case P_u
                    Case 0:
                      P_u = 1
                    Case 1:
                      If T_solar > 10 Then T_solar = T_solar - 10
                    Case 2:
                      If T_H_dn > 10 Then T_H_dn = T_H_dn - 10
                    Case 3:
                      If T_H_up > 0 Then T_H_up = T_H_up - 10
                    Case 4:
                    S_praca = Not S_praca
                      If S_praca = 0 Then P_u = 0
                  End Select
                  A_s = 0
  • #7 7923682
    IMEX
    Poziom 20  
    i problem po wielu godzinach rozwiazany

    a leżał tu

    If T_zd < 990 Or T_zd > 300 Then T_zd = 300
    If T_k < 800 Or T_k > 200 Then T_k = 270
    If T_h < 300 Or T_h > 10 Then T_h = 20


    szał
REKLAMA