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

[BASCOM] błąd 215 przy 1wreset

moriquendi 29 Gru 2008 23:51 1730 6
  • #1 5921761
    moriquendi
    Poziom 2  
    Witam wszystkichserdecznie ,to mój pierwszy post na tym forum :)

    Od paru dni zaczynam zabawę (inaczej na tym etapie mówić nie można) z mikrokontrolerem Atmega16. Wszystko pięknie ładnie do momentu jak chciałem podłączyć i oprogramować obsługę czujnika temperatury DS18B20.
    Problem polega na tym, że przy próbie skompilowania programu pojawia się błąd 215 "Unknown ASM mnemonic". Kompilator jako linię z błędem wskazuje zawsze ostatnią linię programu a występuje tylko gdy w programie znajdują się polecenia 1wreset, 1wwrite, 1wread.

    Nie będę przytaczał kodu programu bo dzieje się tak nawet przy przykładzie z pomocy Bascoma, próbowałem kompilować też programy użytkowników elektrody dotyczące obsługi 1wire... i lipa, zawsze ten sam błąd. Na necie nic nie znalazłem co by pomogło w rozwiązaniu tego problemu, więc jeżeli ktoś ma pomysł to proszę o pomoc.

    Wersja Bascoma jakiej używam to 1.11.9.1
  • #2 5921933
    wader_669
    Poziom 28  
    jednak lepiej zapodaj ten kod. Ja chce to zobaczyc.
  • #3 5921946
    Konto nie istnieje
    Poziom 1  
  • #4 5922661
    moriquendi
    Poziom 2  
    spróbowałem zmienić procesor na Atmega32 i błąd ciągle ten sam. Kod w którym się pojawia to:

    
    $regfile = "m16def.dat"
    $crystal = 16000000
    
     $hwstack = 32                                              ' default use 32 for the hardware stack
    
    $swstack = 10                                               'default use 10 for the SW stack
    
    $framesize = 40                                             'default use 40 for the frame space
                                              ' use the alternative library
    
    
    'Podłączenie pinów LCD do mikroprocesora
    
    ' BL = PortC.1
    ' Rs = PortC.2
    '  E = PortC.3
    'Db4 = PortC.4
    'Db5 = PortC.5
    'Db6 = PortC.6
    'Db7 = PortC.7
    
    Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
    Config Lcd = 16 * 2
    
    Config 1wire = Porta.2                                      ' termometr ds18b20
    
    
    Dim I As Integer                                            'zmienne do odczytu temp.
    Dim S As Single
    Dim T As String * 4
    
    Deflcdchar 0 , 6 , 9 , 6 , 32 , 32 , 32 , 32 , 32           ' znak stopnia
    
    Cursor Off
    Cls
                                                       'pomiar temp. na termometrze ds18b20
    Do
    
       1wreset
       1wwrite &HCC
       1wwrite &H44
    
       Waitms 750
       1wreset
       1wwrite &HCC
       1wwrite &HBE
    
       I = 1wread(2)
       S = I / 16
       T = Fusing(s , "##.#")
    
       Locate 1 , 1
       Lcd "Temp:" ; T ; Chr(0) ; "C"
    
    Loop
    
    end
    
  • #5 5922710
    Konto nie istnieje
    Poziom 1  
  • #6 5923818
    wader_669
    Poziom 28  
    u mnie tez dziala. Testowalem na wersji demo 1.11.9.1 i na wersji full 1.11.9.0
  • #7 5924595
    moriquendi
    Poziom 2  
    Dziękuję wszystkim, przeinstalowałem Bascoma i teraz kompiluje się pięknie jak trzeba :)
REKLAMA