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][Attiny2313][i 2 czujniki ds18b20]

nomadp1000 14 Maj 2010 09:43 2223 3
REKLAMA
  • #1 8073738
    nomadp1000
    Poziom 2  
    Witam
    Mam problem z programem, który został umieszczony w książce (osła łączka). Program został napisany pod attiny2313 lecz niestety podczas kompilacji wyskakuje błąd:

    Reserved word may not be used [Adr]
    Assignment error [X: 0 1: 112]
    Assignment error[ADR(X):0 1WSEARCHFIRST(): 200]

    i jak zmienie ADR na ADRE to błędy znikają, ale pojawia się następny:

    Program will overwrite bootloader [32 too long]

    Kod:
    ' C032g z dwoma DS18B20 tylko z zasilaniem zewnętrznym przez VDD
    Config 1wire = Portd.5 ' + jumper J2 B-C
    Dim T As Integer , T1 As Single
    Dim Adr(16) As Byte , I As Byte , X As Byte
    X = 1 : Adr(x) = 1wsearchfirst() 'znajdź pierwszy adres
    X = 9 : Adr(x) = 1wsearchnext() 'znajdź drugi adres
    Do
    Toggle X.3 'ustawia X=1 albo X=9
    ' odczytaj "starą" wartość temperatury:
    1wreset : 1wwrite &H55 : 1wwrite Adr(x) , 8 : 1wwrite &HBE
    T = 1wread(2) 'od razu wpisz do zmiennej typu Integer
    Shift T , Right , 2 'odpowiednik dzielienia przez 4
    If T.13 = 1 Then 'jeśli temperatura ujemna
    T = T Or &B1100000000000000 'uzupełnij jedynki znaku
    End If
    T1 = T 'przepisz do zmiennej Single
    Shift T1 , Right , 2 'SHIFT działa na zmiennej Single
    If X.3 = 0 Then 'X=1 - pierwszy czujnik
    Waitms 1000 'pomiary co sekundę
    Cls 'w górnej linii będzie temperatura T0
    Else 'X=9 - drugi czujnik
    Lowerline 'w dolnej linii będzie temperatura T1
    End If
    Lcd "T" ; X.3 ; "=" ; T1 ; "oC" 'wyświetl T0, T1
    ' a teraz zmierz "wową" wartość temperatury:
    1wreset : 1wwrite &H55 : 1wwrite Adr(x) , 8 : 1wwrite &H44
    Loop : End 'koniec programu głównego

    Jest mi ktoś w stanie pomóc z tym? Z góry dziękuję za wszelką pomoc
    Pozdrawiam

    Proszę kod umieścić w znacznikach code!
    Robak
  • REKLAMA
  • Pomocny post
    #2 8074545
    wicy
    Poziom 22  
    Prawdopodobnie kompilujesz program przy ustawieniu niewłaściwego uP doclowego. Użyj na początku programu $regfile.
  • REKLAMA
  • Pomocny post
    #3 8076361
    janbernat
    Poziom 38  
    I i $crystal=
  • #4 8080512
    nomadp1000
    Poziom 2  
    Poradziłem sobie, tzn zastosowałem atmege8 i ruszyło, dzieki za pomoc :-)
REKLAMA